Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何单击<;span>;使用javascript&书信电报;span>;没有类或id_Javascript_Jquery_Css - Fatal编程技术网

如何单击<;span>;使用javascript&书信电报;span>;没有类或id

如何单击<;span>;使用javascript&书信电报;span>;没有类或id,javascript,jquery,css,Javascript,Jquery,Css,我想在页面元素加载时单击,但我的span没有类或ID。 跨度为 <div class="block-title"> <strong><span>Refine By</span></strong> </div> 但这会返回错误 TypeError:$(…)为空 如果要触发对元素的单击,可以按如下方式执行: var span= document.querySelector(".block-title span"); var c

我想在页面元素加载时单击
,但我的span没有类或ID。
跨度为

<div class="block-title">
<strong><span>Refine By</span></strong>
</div>
但这会返回错误

TypeError:$(…)为空


如果要触发对元素的单击,可以按如下方式执行:

var span= document.querySelector(".block-title span");
var click= new Event('click');
span.dispatchEvent(click);

或者,如果您想要jQuery(恶心)版本:


旧答案

使用纯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(恶心):

使用jQueryAPI中的.trigger(type)

$('.block-title span').trigger('click');

如果出现以下错误,则表示javascript存在其他问题:

TypeError:$(…)为空

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


  • 是否要将单击事件附加到它?
    $('.block title>span')。单击(function(){})我想要这样的$('.block title>span')。单击();但这将返回错误类型错误:$(…)为空您的意思是$('.block title span')。单击();您需要首先调整选择器@Erwin,这会在控制台类型中产生错误error:$(…)为空。我需要类似$('.block title>span')的内容。单击();但是这会返回错误TypeError:$(…)是空的,这是jQuery,我的答案只是使用了香草JS,这是空的,你的选择器是乱七八糟的。@SheikhSiddiquee
    span
    不是
    的直接子项。block title
    @JacobGray Pure JS代表胜利,+1代表恶心=]@Simon,我得到TypeError:$(…)在控制台中为null可能是因为该元素不存在。元素为exix 110%。我已经从控制台中的sourceType$复制了代码,看看您得到了什么,然后键入$('.block title'),依此类推。。。如果在$上出现错误,则未包含jqueryi am trying document.getElementsByClassName(“块标题”)。单击();给我一个错误。单击();这不是一个函数。有什么想法吗?
    var span = document.querySelector(".block-title span");
    span.attachEvent('onclick', fn);
    span.addEventListener('click', fn, false);
    
    $('.block-title span').click(function() { });
    
    $('.block-title span').trigger('click');