2016-08-10 24 views
5

almak ve sahip Özellik ("tabindex") özelliğini kullanarak değeri alırsanız. Ancak aşağıdaki hatayı alıyorum: jGrid ve jQuery'yi kullanıyorum. Öznitelik varsa, o belirli td değerini almaya çalışıyorum.Testi HTML özelliği bulunur ve HTML özelliği mevcut olup olmadığını test etmek için çalışıyorum değeri

aşağıdaki kodu bakın:

<tr class="jqgrow ui-row-ltr ui-widget-content myAltRowClassEven ui-state-highlight" tabindex="0" id="2" role="row" aria-selected="true"> 
    <td aria-describedby="jqGrid11_cname" title=" TESTTHIS" class="zeroBorderRight" style="text-align: left; height: 20px;" role="gridcell"> 
     TESTTHIS 
    </td> 
</tr> 
+1

nasıl html elemanı seçiyoruz? undefined' xxx – Hodrobond

+0

Eğer testin Posta koduna sakıncası elemana referans ile bir sorun olabilir beni inandıramaz almak için 'yapamaz? Kodu görebilseydik ne hata olduğunu söylemek daha kolay olurdu. –

+1

Sorunuzun etiketine "jqgrid" eklediniz. Sorunu daha açık bir şekilde formüle ederseniz yararlı olur: nerede (hangi geri aramada) bazı özniteliklerin varlığını test etmeniz gerekir. JavaScript kodu dahil birçok şeyi temizleyebilir. – Oleg

cevap

2

Kullanım jQuery has attribute selectortabindex özniteliği ile eleman filterout için.

var text = $('td[tabindex]').text(); 
//--------------^^^^^^^^^^-------------------- 
+0

Merhaba @Pranav. Öneriniz için çok teşekkürler. Ancak sorun, tablonun bir döngüde olması ve tabindex ile td'nin çok olması. Üzgünüm, bu döngüde olduğundan bahsetmeyi unuttum. – user3213490

+0

user3213490 @ '[tabindex]' için eg .... filtrelemek için yardımcı olacaktır: '$ ('yourclass [tabindex]')' –

3

bu deneyin: jquery olmadan

$("#item").attr("tabindex") 
+0

Bu çalıştı. Çözümleriniz için hepinize çok teşekkürler. – user3213490

0

çözümü,

var hasAttr = [...document.getElementById('#blah').attributes] 
    .map(a => a.name) 
    .indexOf(ATTRIBUTE) > -1; 
1

ES6 sen tabindex değerleri yapabileceğiniz öznitelik elde etmek istiyorsanız:

$(function() { 
 
    $('table tbody tr[tabindex]').each(function (i, e) { 
 
    var tabindex = e.getAttribute('tabindex'); 
 
    console.log('tabindex=' + tabindex + ' Row text: ' + e.textContent); 
 
    }); 
 
});
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script> 
 

 
<table> 
 
    <tbody> 
 
    <tr class="jqgrow ui-row-ltr ui-widget-content myAltRowClassEven ui-state-highlight" id="1" role="row" 
 
     aria-selected="true"> 
 
     <td aria-describedby="jqGrid11_cname" title=" TESTTHIS" class="zeroBorderRight" 
 
      style="text-align: left; height: 20px;" role="gridcell"> TESTTHIS 
 
     </td> 
 
    </tr> 
 
    <tr class="jqgrow ui-row-ltr ui-widget-content myAltRowClassEven ui-state-highlight" tabindex="0" id="2" role="row" 
 
     aria-selected="true"> 
 
     <td aria-describedby="jqGrid11_cname" title=" TESTTHIS" class="zeroBorderRight" 
 
      style="text-align: left; height: 20px;" role="gridcell"> TESTTHIS 
 
     </td> 
 
    </tr> 
 
    <tr class="jqgrow ui-row-ltr ui-widget-content myAltRowClassEven ui-state-highlight" tabindex="2" id="3" role="row" 
 
     aria-selected="true"> 
 
     <td aria-describedby="jqGrid11_cname" title=" TESTTHIS" class="zeroBorderRight" 
 
      style="text-align: left; height: 20px;" role="gridcell"> TESTTHIS 
 
     </td> 
 
    </tr> 
 
    </tbody> 
 
</table>

İlgili konular