Javascript Can';t在jQuery对象中修改/目标外部包装器

Javascript Can';t在jQuery对象中修改/目标外部包装器,javascript,jquery,Javascript,Jquery,我不确定如何直接针对jQuery对象的最外层元素 li = '<li id="test"><span id="testspan">0</span></li>'; var e = $(li); $('#test', e).html("1"); //example 1 $('#testspan', e).text("2"); //example 2 li='0; 变量e=$(li); $('#test',e).html(“1”)//

我不确定如何直接针对jQuery对象的最外层元素

li = '<li id="test"><span id="testspan">0</span></li>';
var e = $(li);

$('#test', e).html("1");       //example 1
$('#testspan', e).text("2");   //example 2
li='
  • 0
  • ; 变量e=$(li); $('#test',e).html(“1”)//例1 $('#testspan',e).text(“2”)//例2
    “示例1”不起作用,但“示例2”起作用。如何以这种方式针对
    #测试


    这是。

    您的
    e
    已经
    #test
    元素。不需要进一步的选择器。当执行
    $('#test',e)
    时,jQuery将在
    e
    内部查看
    #test
    。但是
    #test
    是外部父级,因此在内部找不到任何东西

    li = '<li id="test"><span id="testspan">0</span></li>';
    var e = $(li);
    e.html("1");
    

    e.filter('#test').html(“1”)为什么要在这里使用
    过滤器
    @PranavCBalanselect元素只有当它具有
    id
    Ahh是的,好主意。我没有想到这一点。说得好。谢谢你的澄清@当然,我怎么没意识到。。我正在处理其中的嵌套元素,并用类来定位它们,并尝试将相同的方法应用于此,而这是不必要的。谢谢
    var e = $("#test");
    e.html("1");