-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 не имеет селектора «содержит».

Что вы должны сделать, это получить все элементы 'a span', используя document.querySelectorAll(), а затем перебрать их и проверить, содержат ли они '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; 
} 

ЯШ:

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