-1
我想改变
$('a span:contains("myText")').click();
到
var ev = document.createEvent("MouseEvents");
ev.initEvent("click", true, true);
document.querySelector(???).dispatchEvent(ev);
是什么???我应该打字吗?
我想改变
$('a span:contains("myText")').click();
到
var ev = document.createEvent("MouseEvents");
ev.initEvent("click", true, true);
document.querySelector(???).dispatchEvent(ev);
是什么???我应该打字吗?
不幸的是,你所要求的不能用一行代码完成,因为JavaScript没有'contains'选择器。
你必须做的是获得所有使用document.querySelectorAll()
的'a span'
元素,然后遍历它们并检查它们是否包含'myText'
。
这里有一个例子FIDDLE
HTML:
<a href="/three"><span>banana button</span></a>
<a><span>orange button</span></a>
CSS:
span {
width:100px;
height:25px;
border:2px solid red;
cursor:pointer;
}
JS:
var ev = document.createEvent("MouseEvents");
ev.initEvent("click", true, true);
var all_spans = document.querySelectorAll("a span");
for (i = 0; i < all_spans.length; i++) {
if (all_spans[i].innerText.indexOf("banana")>-1) {
all_spans[i].dispatchEvent(ev);
}
}
行,它有效,Thx〜 – KKL
是你应该输入...搜索document.querySelector ()来了解它是如何的作品。 –