JQuery: как игнорировать непосредственные children () и идти глубже, пока не совпадет с заданным элементом? - PullRequest
0 голосов
/ 31 октября 2009
$(this).parent().parent()
.children(this.attr("tagName").toLowerCase())
.css("background-color", "yellow");

xpath:

/html/body/div/table/tr/td/b/a

$(this).tagName Якорь <a>

проблема в том, что children () смотрит на непосредственных потомков $(this).parent().parent(). Следовательно, он выделит <b> вместо <a>

Мне нужен способ игнорировать это непосредственное дочернее ограничение и выбрать <a>, а не `

Ответы [ 2 ]

2 голосов
/ 31 октября 2009

Используйте find() для поиска всех потомков:

$(this).parent().parent()
.find(this.attr("tagName").toLowerCase())
.css("background-color", "yellow");
0 голосов
/ 31 октября 2009

Попробуйте:

$(this).css("background-color", "yellow");

Если вы не пытаетесь выделить все теги на том же уровне, что и "this", в этом случае попробуйте:

$(this).siblings("a").css("background-color", "yellow");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...