JQuery: удаление символа из строки / выбор - PullRequest
2 голосов
/ 28 августа 2010

Я хотел бы выбрать только один класс из нескольких с условием, что у выбранного класса есть какой-либо div-потомок с идентификатором "#exampleId".

Я думал, что что-то подобное может работать, но это не помоглоt:

$(".myClass").has(div).attr("id","#exampleId").

Вторая проблема: мне нужно сначала избавиться от хеша "#".потому что String (#exampleId) был сгенерирован динамически ... Это выглядит примерно так:

var myString = "#exampleId"  

И следующий подход не сработал:

myString.replace('#','');

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 29 августа 2010

Вы уже приняли ответ, но я все равно его выкину.

Если у вас есть более чем несколько .myClass элементов на странице, вероятно, было бы более эффективно сначала выбрать #exampleId, а затем перейти к первому .myClass, используя parents().

$('#exampleId').parents('.myClass:first');

Или, если идентификатор был в переменной, сделайте это:

var myString = "#exampleId";

$(myString).parents('.myClass:first');

Это даст вам первого родителя #exampleId, который имеет .myClass.

Вы можете также использовать .closest('.myClass'), если хотите.

0 голосов
/ 28 августа 2010

Вы можете просто передать идентификатор в селекторе для has(). Нет необходимости удалять #.

$(".myClass").has("div#exampleId")

Или даже сделать это в одном селекторе:

$(".myClass:has(div#exampleId)")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...