如何使用javascript点击<span>。 <span>没有类或ID

时间:2015-12-02 15:49:47

标签: javascript jquery css

我想点击页面元素加载<span>,但我的跨度没有类或ID 跨度是

<div class="block-title">
<strong><span>Refine By</span></strong>
</div>

我想要像

这样的东西
 $('.block-title > span').click(); 

但这会返回错误

  

TypeError:$(...)为空

3 个答案:

答案 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');

http://api.jquery.com/trigger/

答案 2 :(得分:1)

如果您收到以下错误,则表示您的javascript存在其他问题:

  

TypeError:$(...)为空

我建议做一些研究。我将其复制到谷歌并获得:

  1. TypeError: $(...) is null error in firebug but code works on jsFiddle
  2. "TypeError: $(...) is null" What's Going On?
  3. Class exists but jquery errors: TypeError $(...) is null