Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何向span jQuery添加文本_Javascript_Jquery - Fatal编程技术网

Javascript 如何向span 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>'); $(

我用这个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);
    }
菜单将更改为最后一个值,例如,如果我的值是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");   
    });