-1

変わりたい

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

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

とは ???入力する必要がありますか?

4

1 に答える 1

0

残念ながら、JavaScript には「contains」セレクターがないため、あなたが求めていることを 1 行で実行することはできません。

あなたがしなければならないことは、'a span'使用してすべての要素を取得し、document.querySelectorAll()それらを繰り返し処理して、それらが含ま'myText'れているかどうかを確認することです。

これがフィドルの例です

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);
    }
}
于 2014-05-04T09:20:55.570 に答える