如何选择这些按钮中的第一个?

时间:2013-09-25 15:27:39

标签: javascript jquery css-selectors greasemonkey

我想使用Greasemonkey脚本点击按钮。

按钮HTML如下所示;有3个按钮,分别对应48/50/52。 48/50/52不一样,有没有办法通过选择class="modeNum"中的第一个来选择性地点击按钮?

我只想点击第一个。

按钮代码:

<dl class="numSize">
    <dt>size:</dt>
    <dd class="modeNum">
        <a href="javascript:void(0);" rev="6" rel="3">48</a>
        <a href="javascript:void(0);" rev="10" rel="3">50</a>
        <a href="javascript:void(0);" rev="1" rel="1">52</a></dd>
        <dd class="dps">
        <a href="javascript:;">size chart</a>
    </dd>
    <dd class="clear"></dd>
</dl>

...单击第二个按钮时,代码将变为:

<dl class="numSize">
    <dt>size:</dt>
    <dd class="modeNum">
        <a href="javascript:void(0);" rev="6" rel="3">48</a>
        <a class="Active" href="javascript:void(0);" rev="10" rel="3">50</a>
        <a href="javascript:void(0);" rev="1" rel="1">52</a></dd>
        <dd class="dps">
        <a href="javascript:;">size chart</a>
    </dd>
    <dd class="clear"></dd>
</dl>


如何使用document.querySelector选择第一个<a>元素?

1 个答案:

答案 0 :(得分:1)

回复:

  

如何使用document.querySelector选择第一个元素?

这很容易,因为document.querySelector始终只返回第一个匹配元素(如果有的话)。

您只需使用:

var firstBtn = document.querySelector ("dl.numSize > dd.modeNum > a");
if (firstBtn) {
    // DO YOUR CLICK OR WHATEVER, HERE.
}

或者,如果你想更加确定:

var firstBtn = document.querySelector ("dl.numSize > dd.modeNum > a:first-of-type");
if (firstBtn) {
    // DO YOUR CLICK OR WHATEVER, HERE.
}

在这种情况下,jQuery选择器是相同的:

var firstBtn = $("dl.numSize > dd.modeNum > a:first-of-type");
if (firstBtn.length) {
    // DO YOUR CLICK OR WHATEVER, HERE.
}

参考: