我想自动点击 SPAN.show-more 。当我点击它显示隐藏的文字。它的ID是一个随机数,如:SPAN#yui_3_9_1_10_1397969703476_624.show-more 我用的是油脂。 该页面是: https://espanol.answers.yahoo.com/question/index?qid=20091125151524AAvxaLo
我的错误代码是:
var i,
list = document.querySelectorAll(".show-more")
for (i = 0; i < list.length; ++i)
{ list[i].click();
}
也许我需要等到页面满载?我需要延迟吗?
答案 0 :(得分:1)
您可以简单地调用onclick()
这样的事件:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Click</title>
</head>
<body>
<span class="show-none">hello</span>
<span onclick="this.style.backgroundColor = '#f47121'" class="show-more">hello</span>
<span onclick="this.style.backgroundColor = '#128239'" class="show-more">hello</span>
<script type="text/javascript" charset="utf-8">
var i, list = document.getElementsByClassName("show-more");
for (i = 0; i < list.length; ++i)
{
list[i].onclick();
}
</script>
</body>
</html>
答案 1 :(得分:1)
onclick()
方法
var i, list = document.querySelectorAll(".show-more")
for (i = 0; i < list.length; ++i)
{
list[i].onclick();
}
祝你好运
答案 2 :(得分:0)
没有内置的跨浏览器功能或方法来导致点击。如果需要,我可以找到最好的跨浏览器解决方案之一here。通过,如果你试图让一个函数触发它,最好只调用该函数。
根据Luxelin的建议,jQuery将是最简单的选择。使用jQuery时$(element).trigger('click')
将触发元素上的跨浏览器单击事件。
答案 3 :(得分:0)
虽然有一种方法可以使用:
element.onclick = function(){ .. };
if( something )
element.onclick(); // call the handler
<强> DEMO 强>