1

ここに以下のHtml

 <div class="navBulletsWrapper">
<div rel="0" class=""></div>
<div rel="1" class=""></div>
<div rel="2" class=""></div>
<div rel="3" class=""></div>
<div rel="4" class="active"></div>
<div rel="5" class=""></div>
<div rel="6" class=""></div>
<div rel="7" class=""></div>
</div>

クラスがアクティブなdivのrel値を取得したい

試した

$('.navBulletsWrapper .active')[0].attr('rel')

しかし、divにattrがないため失敗します

4

6 に答える 6

5

$('.navBulletsWrapper .active')[0]jquery オブジェクトではなく、DOMオブジェクトを提供します。attrしたがって、添付されているようなjquery関数はありません。

$('.navBulletsWrapper .active').eq(0).attr('rel')

動作するはずです。

.active一度に 1 つのdivしかない場合は、使用する必要はありませんeq(0)

$('.navBulletsWrapper .active').attr('rel')
于 2013-01-20T11:07:56.783 に答える
2

http://jsfiddle.net/4dTAG/

JavaScript のみのメソッドは次のようになります。

var divs = document.getElementsByClassName("navBulletsWrapper")[0].getElementsByTagName("div");
for (i = 0; i < divs.length; i++) {
    if(divs[i].className=="active"){
        var rel = divs[i].attributes.rel.value;
        alert(rel);
        break;
    }
}

あなたが試した方法で進行中のjquery方法 http://jsfiddle.net/4dTAG/1/

var rel = $('.navBulletsWrapper .active')[0].attributes.rel.value
于 2013-01-20T11:14:45.740 に答える
1

.active は 1 つしかないため、[0] は必要ありません。

$('.navBulletsWrapper .active').attr('rel');
于 2013-01-20T11:08:57.453 に答える
1
$('.navBulletsWrapper .active')[0]

html要素です。

$('.navBulletsWrapper .active').eq(0)

機能を持つjQuery要素attr()です。

于 2013-01-20T11:10:53.110 に答える