2009-12-02 16 views
1

調用鏈接我有,我希望通過編程點擊頁面上的HREF功能標籤對象(圖形)。但是,我無法弄清楚如何引用該對象。這是標籤:在Javascript或jQuery的

<div id="getthebutton"> 
    <div> 
     <a onmouseout="MM_swapImage('btn123','','http://www.comp.com/img/btn_img.png',1)" onmousedown="MM_swapImage('btn123','','http://www.comp.com/img/buttons/btn_inv.png',1)" onmouseover="MM_swapImage('btn123','','http://www.comp.com/img/buttons/btn_inv.png',1)" href="javascript:do_activity("param1", 1);"> 
      <img id="btn123" width="180" height="60" alt="" src="http://www.comp.com/img/buttons/other_btn.png"/> 
     </a> 
    </div> 
</div> 

我該如何點擊這個東西?如果我讀這個權利「btn123」只是一個圖像文件。

+0

您HREF看起來無效您使用JavaScript,你應該使用單引號裏面的相同引號。 – jitter 2009-12-02 23:02:50

+1

確實。 **請勿使用javascript:網址**。永遠。認真。 – bobince 2009-12-02 23:10:24

+0

DHTML圖像交換是老式的。 jQuery將處理您的所有需求。 – 2009-12-02 23:29:20

回答

0

要以編程方式點擊你將不得不做這樣的事情

$("a").click(); 

當然它有助於有一個事件處理程序分配的第一,但它是真的那麼簡單:)

0

使用parentNode會給你訪問<a>標籤,但我不知道這是否對你有幫助,因爲我不確定你到底在做什麼。

document.getElementById("btn123").parentNode 

我相信jQuery的,它是父():

$('#btn123').parent() 

那麼你很可能這樣做:

$('#btn123').parent().click() 
+0

父()。點擊()似乎並沒有工作,除非我做錯了什麼 – GregH 2009-12-03 17:00:52

+0

是的,從我的理解,單擊只有當你已綁定點擊功能的項目工作。你可以直接調用「do_activity(」param1「,1);」?,或者你不知道這是什麼嗎? – 2009-12-03 18:47:52

0

首先,你應該聽意見(JavaScript的:鏈接==黑暗的一面)。這是說...

$("div#getthebutton div a").click(); 
+0

正在聽,但我不控制源javascript/HTML ...我沒有寫它。 – GregH 2009-12-03 17:19:24

+0

click()僅適用於IE。 – 2009-12-04 03:13:16

+0

沒意識到。你可以嘗試使用原始的Javascript的東西。對於IE來說,這可能就像$(「div#getthebutton div a」)。get(0).fireEvent(「onclick」),而對於Firefox(和其他),你會使用createEvent(這有點複雜我將不提供示例,但您可以在此處閱讀它:https://developer.mozilla.org/en/DOM/document.createEvent)。 – machineghost 2009-12-04 22:01:48

0

在這種情況下,該錨點具有JavaScript href值。瞭解你必須在源無法控制,唯一的其他選擇是評估HREF值:

// run the href-javascript from the parent anchor 
eval($("#btn123").parent().attr("href")); 

從代碼中調用一個點擊就不會調用JavaScript代碼。因此,您必須對其進行評估。

0

如果你想獲得點擊圖像,從代碼,我想說的結果你的JavaScript應該簡單地:

do_activity("param1", 1); 

這就是當圖像被人點擊了什麼最終會發生。這繞過了'點擊'事件,所以你可能會錯過一些副作用,但這是我首先嚐試的。