2014-05-19 71 views
0

我需要取消網站上的一堆訂單,因爲價格是錯誤的。總共有大約200個,所以想自動化這個。點擊標籤不起作用

這裏是我需要解決的部分:

<div id="orderlist"> 
<label id="l61">05/14/2014 12:23:17</label> 
<label id="l62">0.00000666</label> 
<label id="l63">Buy</label> 
<label id="l64">1</label> 
<label id="l64">1</label> 
<label id="l62">6.66E-6000</label> 
<label id="l65" onclick="cancelOrder(335210);">Cancel</label> 

<div id="b1"></div> 
<label id="l61">05/14/2014 12:23:17</label> 
<label id="l62">0.00000666</label> 
<label id="l63">Buy</label> 
<label id="l64">1</label> 
<label id="l64">1</label> 
<label id="l62">6.66E-6000</label> 
<label id="l65" onclick="cancelOrder(335220);">Cancel</label> 

等。 div id b1是每個訂單之間的分隔線。 我需要做的是通過函數單擊標籤ID 165,或者直接調用onclick函數。 問題在於onclick函數的名稱隨着每個訂單而變化。

我已經嘗試過取消前4訂單的間隔

window.setInterval(cancel, 20000); 

function cancel(){ 
    $('#orderlist').find('label:eq(0)').click(l65); 
    $('#orderlist').find('label:eq(1)').click(l65); 
    $('#orderlist').find('label:eq(2)').click(l65); 
    $('#orderlist').find('label:eq(3)').click(l65); 
    console.log("running"); 
} 

但是,這似乎並沒有工作。

在學習更多關於JavaScript的興趣:

  • ,纔有可能尋找一定的順序? EG:只有標籤163 =「購買」的訂單,並且只刪除那些?
  • 如何獲得標籤l63 =「Sell」訂單的「標籤l62」的值?如果有多個訂單,我會需要最小的價值。
+5

你爲什麼想到'。點擊(L65)'做什麼?你有沒有在頁面上包含jQuery?您是否檢查過http://api.jquery.com/click/和https://developer.mozilla.org/en-US/docs/Web/API/EventTarget.addEventListener? – elclanrs

+0

我希望只能在前四個訂單中分別點擊標籤l65。 當我使用'javascript:document.getElementById('l65')。click();' ,它會嘗試一次點擊它們,導致網站崩潰。 – Wannes

+0

您的意思是說該功能隨每個訂單而變化。或者你想說功能參數隨每個訂單而變化。你也可以檢查自定義屬性。示例data-order ='l65'並將其用作jquery中的object.attr('data-order')。多個元素的相同ID不是標準。 – SSS

回答

0

也許這會有所幫助。

var clicks = $('#orderlist').find('[onclick]'); 

會在orderlist-div中找到所有onclick的標籤。

隨着

$(clicks).each(function(){ ...}); 

,你可以做你的魔術,然後

fiddle