2014-01-26 104 views
0

一个点击我有一个按钮,看起来像下面:触发一个按钮

like button

正如你可以在图片中看到有按钮周围的<a>方面的黑色边框。我添加了黑色边框。然而点击事件并没有做任何事情。

这里是我的代码:

$('.vbseo_like_link').each(function(){ 
    $(this).click(); 
    $(this).css("border", "5px solid black"); 
}); 

目前,这些被点击应该有一个Javascript alert与按钮变得褪色沿弹出时。这个工程当我手动点击它,但使用click()似乎不工作。

我做错了什么吗?

+0

尝试'this.click();'如果它不工作,如果您在[jsfiddle.net](http://jsfiddle.net/)中重新创建问题会更好。 – Givi

+0

尝试将它放在'$(document).ready'函数中 –

+0

@أنيسبوهاشم这是一个在document_end上运行的Chrome扩展,在这里不需要。 – ComputerLocus

回答

2

如果您的手动点击工作,您可以尝试this.click()

  • this.click()调用DOM方法click()。
  • $(this).click()比较复杂(触发jQuery点击事件)。它的作用与$("#id").trigger("click")相同。
+0

这工作(没有双关语意图)。谢谢。 'this'和'$(this)'之间有什么区别?我认为$(this)是选择器。 – ComputerLocus

+0

它们触发两种不同的功能。 'this'将其称为:http://www.w3.org/TR/REC-DOM-Level-1/level-one-html.html#ID-2651361(原生DOM功能)。 '$(this)'利用jQuery封装来实现点击功能(http://api.jquery.com/click/)。您可能希望仔细阅读jQuery源代码中的'click'实现以获取更多详细信息。 – gthacoder

+0

为什么'$(this)'不工作呢?它是否仍然像原生DOM函数一样模拟点击元素? – ComputerLocus

1

$(this)用于jquery选择器,但您的点击在每个选择器内。我认为Givi是对的。尝试this.click()

+0

这工作(没有双关语意图)。谢谢。 – ComputerLocus