Я намагаюся знайти всі елементи на сторінці, ідентифікатор елемента якого містить певний текст. Потім мені потрібно буде відфільтрувати знайдені елементи на основі того, приховані вони чи ні. Будь-яка допомога дуже цінується.
Я намагаюся знайти всі елементи на сторінці, ідентифікатор елемента якого містить певний текст. Потім мені потрібно буде відфільтрувати знайдені елементи на основі того, приховані вони чи ні. Будь-яка допомога дуже цінується.
Відповіді:
$('*[id*=mytext]:visible').each(function() {
$(this).doStuff();
});
Зверніть увагу, що зірочка '*' на початку селектора відповідає всім елементам .
Див. Атрибут містить селектори , а також : видимі та : приховані селектори.
id
ви не використовуєте лапки, де при зіставленні з name
вами. $('*[name*="myname"]:visible')
Не найінтуїтивніший і раніше мене наздогнав.
Якщо ви знайдете компанію Contains, то буде так
$("input[id*='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Якщо ви знайдете по Starts With, то буде так
$("input[id^='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Якщо ви знайдете « Закінчується з», то це буде так
$("input[id$='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Якщо ви хочете вибрати елементи, ідентифікатор яких не є заданим рядком
$("input[id!='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Якщо ви хочете вибрати елементи, ім'я яких містить задане слово, розділене пробілами
$("input[name~='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Якщо ви хочете вибрати елементи, ідентифікатор яких дорівнює заданій рядку, або починаючи з цього рядка, а потім дефісом
$("input[id|='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
Це вибирає всі DIV з ідентифікатором, що містить "foo", і які є видимими
$("div:visible[id*='foo']");
$(this)[0].innerText