我无法触发此元素的点击
$(this).find('.views-field-field-cover-fid').find('a.imagecache-coverimage').click();
jQuery路径是正确的。实际上,如果我打印它,它会给出正确的元素:
console.log($(this).find('.views-field-field-cover-fid').find('a.imagecache-coverimage'));
但由于某种原因,函数click()不起作用。 感谢
答案 0 :(得分:4)
http://api.jquery.com/trigger/
编辑:好的,现在我明白了你想要做什么,抱歉我没有意识到.click()和.trigger('click')基本相同。另一种方法是将地址绑定到click事件。
$(this).find('.views-field-field-cover-fid a.imagecache-coverimage')
.bind("click", function(){
window.location.href = $(this).attr('href');
});
然后你就可以触发点击了!
$(this).find('.views-field-field-cover-fid a.imagecache-coverimage')
.trigger('click');
(或.click();
)
答案 1 :(得分:4)
编辑:
现在,我发现您要访问href
元素的a
。
这样做:
window.location = $(this).find('.views-field-field-cover-fid').find('a.imagecache-coverimage').attr('href')
Patrick,.click()
函数的行为取决于它的使用方式。
如果您希望为所选元素触发“click”事件处理程序,那么您正确使用它,但首先您需要为该元素提供一些功能。
这使我们进入了使用.click()
的第二种(也是更常见的)方式。那就是给元素赋予功能。在DOM加载时运行:
$(document.ready(function() {
$('.views-field-field-cover-fid')
.find('a.imagecache-coverimage')
.click(function() {
alert('I was clicked!');
});
});
现在,与您的选择器匹配的所有元素都会在点击时显示警告,或者像您最初一样触发事件。
$(this).find('.views-field-field-cover-fid')
.find('a.imagecache-coverimage')
.click();
答案 2 :(得分:3)
单个find
呢?
$(this).find('.views-field-field-cover-fid a.imagecache-coverimage').click(function() {
// stuff
});