-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