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 元素。我选择 tr 是因为我还想选择产品 ID。如何在每个循环中选择一个 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 回答