2013-05-07 2 views
2

У меня есть этот JQuery код, который я использую, чтобы создать динамическое менюкак добавить текст, чтобы охватить Jquery

function createList(test){ 
     alert(test); 
     $('#nav') 
     .append('<li class="top"><a href="nogo2" id="products" class="top_link"><span class="down"></span></a></li>'); 
     $('.down').text(test); 
    } 

проблема, что у меня есть, когда я пытаюсь добавить текст в пролете

$('.down').text(test); 

изменения меню на любое значение, является последним, например, если мои значения ABCDE тогда все мое меню эээээ любого орган может помочь мне спасибо

+0

Вы настраиваете текст ко всем элементам с классом '.down', а не только один. –

+1

Почему бы просто не добавить его в свой первый append? '.append ('blah blah ' + test + ' blah blah')'? – Josh

+0

спасибо Mohammad, но когда я использую append, тогда меню отображает abcde bcde cde de e – user1766952

ответ

2

Почему бы вам не сделать это прямо как т его:

function createList(test) { 
    alert(test); 
    $('#nav') 
     .append('<li class="top"><a href="nogo2" id="products" class="top_link"><span class="down">' + test + '</span></a></li>'); 
} 
7

Вы можете попробовать использовать это, чтобы выбрать только последнюю .down вместо всего:

$('.down:last').text(test); 
2

Селектор $('.down') выбрать все элементы с классом down

Если вы хотите выберите последний созданный .down, используя это:

$('.down:last').text(test); 
0

Я предполагаю, что вы вызываете createList() несколько раз для каждого элемента меню, но эта функция создает группу li с тем же классом, что и «down». Затем вы изменяете класс (т. Е. Все ли, у которых класс «вниз»). Вы хотите назначить уникальный идентификатор для каждого li.

вот скрипку решение:
http://jsfiddle.net/acturbo/vZAee/2/

это должно работать:

function createList(test){ 
     //alert(test); 
    var id = "product-" + test; 
    console.log(test) 

     $('#nav') 
     .append('<li class="top"><a href="nogo2" id="products" class="top_link"><span id="'+ id +'"></span></a></li>'); 
     $("#"+id).text(test); 
    } 


$().ready(function() { 
    createList("a");  
    createList("b"); 
    createList("c"); 
}); 
Смежные вопросы