2013-09-25 32 views
0

我想使用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

回覆:

如何使用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. 
} 

參考:

+0

亞當斯,感謝你的幫助。 這是有效的,並且該參考對於學習該主題非常有幫助。再次感謝。 – user1663601

+0

不客氣。如果這解決了你的問題,那麼[勾選此答案旁邊的複選標記](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)。 –

相關問題