2015-10-01 3 views
1

Я искал по всему Интернету пример или решение, но пока не удалось. Задача, с которой я сталкиваюсь, заключается в использовании jQuery для выбора идентификатора элемента, который начинается с строки, но также заканчивается переменной, переданной функцией.jQuery -Wildcard Selector Starts w/String и заканчивается w/Variable

Пример:

.jsp файл - Существует цикл ForEach, который создает динамические дивы и добавляет переменные $ {число} их «ид» в качестве ключа. Это позволяет кнопке показывать/скрывать только этот уникальный div, не воздействуя на другие div на одной странице.

<div id="success-icon${number}"></div> 
<div id="success-msg${number}"><p>My Message</p></div> 

<button id="success-btn${number}" onclick="showIcon(${number})">Show Button ${number}</button> 

.JS файл

//does not work, because it is looking for success+number 
function showIcon(number){ 
    $('[id^=success]'+number).show(); 
} 

мне нужно искать идентификатор, который начинается с «успехом» и заканчивается «номер» переменный.

Настоящим признателен за любую помощь в этом и заблаговременно за ваше время!

ответ

2

Вы можете использовать в качестве селектора:

$('[id^=success][id$='+number+']').show(); 

Но берегитесь, матч будет для number = 1; обоих div с с идентификаторами: success-icon1 и success-icon11 например. Теперь это зависит от вашего ожидаемого поведения.

В любом случае, чтобы «группировать» некоторые элементы, вам лучше использовать общий класс для каждого сгруппированного элемента.

+0

Спасибо! Это именно то, что я искал. – ShadowStorm