Javascript 如何向span jQuery添加文本
我用这个jQuery代码创建一个动态菜单Javascript 如何向span jQuery添加文本,javascript,jquery,Javascript,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>'); $(
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);
}
菜单将更改为最后一个值,例如,如果我的值是b c d e
那么我所有的菜单,任何人都可以帮我谢谢你为什么不直接这样做:
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>');
}
函数createList(测试){
警报(测试);
$(“#导航”)
.append(“”);
}
您可以尝试使用此选项仅选择最后一个。向下,而不是全部:
$('.down:last').text(test);
$('.down:last').text(test);
选择器$('.down')
选择类down
如果要选择上次创建的.down
,请使用以下命令:
我假设您为每个菜单项多次调用createList(),但此函数创建了一组li,其类与名为“down”的类相同。然后,您正在修改类(即,所有具有类“down”的li)。您想要的是为每个li分配一个唯一的id 以下是小提琴解决方案:
这应该起作用:
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");
});
函数createList(测试){
//警报(测试);
var id=“产品-”+测试;
console.log(测试)
$(“#导航”)
.append(“”);
$(“#”+id).text(测试);
}
$().ready(函数()){
createList(“a”);
创建列表(“b”);
创建列表(“c”);
});
您正在使用类.down
将文本设置为所有元素,而不仅仅是一个。为什么不将其添加到第一个附加中.append('blah blah'+test+'blah blah')
?谢谢你,Mohammad,但是当我使用append时,菜单显示abcde bcde cde de eYou应该将它附加到你的.append方法中,就像Josh提到的那样。
$('.down').each(function(){
$(this).text(test);
});
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");
});