2016-02-08 2 views
1

Я пытаюсь переключить видимость этого. Вы заметите, что есть первичный ключ число в конце ID:JQuery Select Dynamic ID

<div id="campaign-details-container-12"> 

И это, как я пытался выбрать его:

$(document).on("click",".show-details",function() { 
    $(this).blur(); 
    var id = $(this).data("id"); 
    var selector = "#campaign-details-container-"+id; 
    alert(selector); 

    $(selector).toggle(); 
    return false; 
}); 

Как я могу получить эту работу? Я мог бы поместить тег data-id="12" в div и использовать класс, но как бы я выбрал это?

+0

шоу-детали является отдельная кнопка –

+1

В скрипке @ArunPJohny 'show-details' разделяется. Что тебе нужно? –

+2

Ваша первоначальная версия * необходимо * работа * как есть *. Как выглядит HTML-код? –

ответ

3

Просто выберите его с помощью атрибута начинается с синтаксисом:

$("[id^=campaign-details-container]"); 

Нет необходимости идти делать ненужные вещи с классами и переменными ид ...

Смотреть http://www.w3schools.com/cssref/sel_attr_begin.asp

+0

Это был бы (намного) более медленный способ сделать это над добавлением класса к элементам и использованием этого класса в качестве селектора. – putvande

+0

Зависит, если вы добавите класс с js, прежде чем использовать его в качестве селектора, тогда вы становитесь медленнее, так как добавление класса - это манипуляция dom, которая всегда медленнее. – seahorsepip

+0

Не, если OP-объявления в шаблоне HMTL. – putvande