我想点击页面元素加载<span>
,但我的跨度没有类或ID
跨度是
<div class="block-title">
<strong><span>Refine By</span></strong>
</div>
我想要像
这样的东西 $('.block-title > span').click();
但这会返回错误
TypeError:$(...)为空
答案 0 :(得分:7)
如果要触发对元素的单击,可以这样做:
var span= document.querySelector(".block-title span");
var click= new Event('click');
span.dispatchEvent(click);
<强> Complete Vanilla JS Demo 强>
或者,如果你想要jQuery(yuck)版本:
//Creates and dispatches a click event
$('.block-title span').trigger('click');
<强> Complete jQuery Version 强>
旧答案
使用纯javascript,您可以将元素的onclick
设置为函数:
document.querySelector(".block-title span").onclick = fn;
// or like document.querySelector(".block-title span").onclick = function(){};
或者,如果您想使用事件监听器:
var span = document.querySelector(".block-title span");
span.attachEvent('onclick', fn);
span.addEventListener('click', fn, false);
或者,如果你想使用jQuery(yuck):
$('.block-title span').click(function() { });
答案 1 :(得分:1)
使用jQuery API中的.trigger(type)
$('.block-title span').trigger('click');
答案 2 :(得分:1)
如果您收到以下错误,则表示您的javascript存在其他问题:
TypeError:$(...)为空
我建议做一些研究。我将其复制到谷歌并获得: