2009-12-02 43 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); 

这就是当图像被人点击了什么最终会发生。这绕过了'点击'事件,所以你可能会错过一些副作用,但这是我首先尝试的。