-1

我想改变

$('a span:contains("myText")').click(); 

var ev = document.createEvent("MouseEvents"); 
ev.initEvent("click", true, true); 
document.querySelector(???).dispatchEvent(ev); 

是什么???我应该打字吗?

+0

是你应该输入...搜索document.querySelector ()来了解它是如何的作品。 –

回答

0

不幸的是,你所要求的不能用一行代码完成,因为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); 
    } 
} 
+0

行,它有效,Thx〜 – KKL