形式就是
对内容为111的里进行自动点击怎么写
求大神
window.onload = function()
{
var obj_lis = document.getElementById("aaa").getElementsByTagName("li");
for(i=0;i {
if(this.innerHTML=="111")`
{
setInterval(function () {$(this).click(); },10000);
}
}
}
这段代码不能用啊
不能用,是$(this)这段指代不清,建议把上述代码用jquery重写一下。
你是不是要实现这种的功能?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<ul id="aaa">
<li>111</li>
<li>222</li>
<li>333</li>
</ul>
<script type="text/javascript">
window.onload = function(){
var obj_lis = document.getElementById("aaa").getElementsByTagName("li");
for(i=0;i<obj_lis.length;i++) {
if(obj_lis[i].innerHTML=="111"){
setInterval(function () {alert(11111)},1000);
return false;
}
}
}
</script>
</body>
</html>
有几点要说一下
1.setInterval 是每隔指定的毫秒后执行方法,你设置成10000,不利于调试你的代码,(你要等10秒钟吗?)
2.for 循环的函数结构弄错了,可以自己检查一下
3.看你用了$(this) 你应该是引用了jq ,那既然用了jq,最好就用jq的方式获取元素以及元素的值,类似$("element").html()
4.你写在setInterval的 function中的$(this) 你要确定这个this 指向的是谁
5,最后,click()方法你确定写好了吗?
你的this一开始就指向不明确,应该是指向了window,后面又用了$(this),有用到了jq前面就不要用原生js获取元素。你应该先使this指向一个你要比较innerHTML的对象再比较