Я хочу изменить
$('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 не имеет селектора «содержит».
Что вы должны сделать, это получить все элементы '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);
}
}
Хорошо, это работает, Thx ~ – KKL
да вы должны ввести ... Поиск document.querySelector(), чтобы узнать, как это работает. –