0

ページから div のすべての属性を jquery に渡してほしいIDですか?

私はこのようなものを持っています

var divs = $('div').attr('id');

これは子オブジェクトとして返されませんか?

HTMLファイル

`   <script type="text/x-handlebars" data-template-name="select">
    <div id="comp_select">
        <div id="language">
            Language: {{view PortalComp.selectView}}
        </div>
    </div>
</script>`
4

4 に答える 4

4

まずattr、コレクションではなく文字列を返します。次に、呼び出し元のコレクション内の最初の要素の目的の属性値のみを返します。each値を配列に入力する前に、コレクションを反復処理するために使用します。

var arr = [];
$('div').each(function(){
    arr.push($(this).attr('id'));
});
arr = arr.filter(function(i,v){return v});

編集:この回答が正しく指摘しているように、ID のない div から空の配列値がないように注意する必要があります。私の例では、 を使用して空の値を除外しましfilterたが、より良いアプローチは、より狭いセレクター、つまり を使用することdiv[id]です。

于 2013-03-28T19:24:52.407 に答える
2

ID を持つもののみを反復処理するようにするには、次のdiv[id]ようにセレクターとして使用します。

var ids = [];
$('div[id]').each(function(){
    ids.push( this.id );
});
于 2013-03-28T19:28:27.713 に答える
1
var ids = jQuery.map($('div[id]'), function(el) {
    el.id;
});
于 2013-03-28T19:27:48.397 に答える
1

jQuery :

$("div").each(function(){
        alert($(this).attr("id"));
});

マークアップ:

<div id="1"></div>
<div id="2"></div>
<div id="3"></div>
<div id="4"></div>
<div id="5"></div>

jsFiddle : http://jsfiddle.net/UGbHB/

于 2013-03-28T19:26:32.873 に答える