1

私は次の構造を持っています:

html構造:

<table class="structure">
<tr>
    <td class="id"> 
        <div class="product-id">123</div>
    </td>
    <td class="article">
        <ul name="attribute[151]">
            <li class="active"> <a href="..." rel="1">A</a></li>
            <li><a href="..." rel="2">B</a></li>
        </ul>
    </td>
</tr>
<tr>
    <td class="id"> 
        <div class="product-id">456</div>
    </td>
    <td class="article">
        <ul name="attribute[151]">
            <li class="active"> <a href="..." rel="1">A</a></li>
            <li><a href="..." rel="2">B</a></li>
        </ul>
    </td>
</tr>
</table>

すべての tr 要素をループして、クラスがアクティブな li 要素を取得したいと考えています。製品 ID も選択したいので、tr を選択します。各ループ内で css セレクターを選択するにはどうすればよいですか?

プロトタイプ:

 $$('.structure tr').each(
            function (index) {
                    //wrong
               console.log(index.down(".article li.active a'").readAttribute('rel'));
            }
        );

    }
4

1 に答える 1

3

したがって、このようにJavaScriptを単純化できます

$$('.structure tr').each(
        function (index) {

           console.log(index.down('li.active a').readAttribute('rel'));

                //wrong
           console.log(index.down(".article li.active a'").readAttribute('rel'));
                //       extra single quote           ^^^^
        }
    );

}

また、メソッドに余分な一重引用符 (') がありdown()、CSS セレクター エンジン (Sizzle) を混乱させる可能性があります。

于 2013-06-03T15:28:25.320 に答える