Javascript 使用jquery向ul添加li元素的方法不正确

Javascript 使用jquery向ul添加li元素的方法不正确,javascript,jquery,html,Javascript,Jquery,Html,我想用这种方式向ul添加li元素 <li> <div> <span>Ad</span> </div> <div> <span><a href="#">A title.</a></span> <span>Some text here</span> </div> &

我想用这种方式向ul添加li元素

<li>
    <div>
        <span>Ad</span>
    </div>
    <div>
        <span><a href="#">A title.</a></span>
        <span>Some text here</span>
     </div>
</li>
但是通过下面的代码

$document.readyfunction{ $“通知”。单击函数E{ $'ul_addon'。附加 $.append $‘广告’, $, $.append $,
$”您需要将div附加到li,而不是像下面那样创建div

$('<li><div>') 

// will create elements and it will look like <li><li><div></div>
请使用下面的代码

$document.readyfunction{ $“通知”。单击函数E{ $'ul_addon'。附加 $.append $‘广告’, $.append $,
$”您需要将div附加到li,而不是像下面那样创建div

$('<li><div>') 

// will create elements and it will look like <li><li><div></div>
请使用下面的代码

$document.readyfunction{ $“通知”。单击函数E{ $'ul_addon'。附加 $.append $‘广告’, $.append $,
$'您需要了解jQuery中的追加和元素创建是如何工作的。您不需要将end标记用作单独的追加。它不像html字符串连接

当您提供$时,它正在创建html元素

当您使用$时,它将创建,但是如果您将append链接到此元素,那么下一个append将对父元素li起作用。这就是span位于div之外的原因

$document.readyfunction{ $“通知”。单击函数E{ $'ul_addon'。附加 $.append $.append $‘广告’ , $.append $,
$'您需要了解jQuery中的追加和元素创建是如何工作的。您不需要将end标记用作单独的追加。它不像html字符串连接

当您提供$时,它正在创建html元素

当您使用$时,它将创建,但是如果您将append链接到此元素,那么下一个append将对父元素li起作用。这就是span位于div之外的原因

$document.readyfunction{ $“通知”。单击函数E{ $'ul_addon'。附加 $.append $.append $‘广告’ , $.append $,
$”问题是因为您必须一次创建一个完整的元素,也就是说,如果元素有一个开始标记和结束标记,那么它就是开始标记和结束标记。您不能使用jQuery只插入结束标记

要修复代码,如果只使用一个附加,则会更简单,性能更好:

$('#notify').click(function(e){
    $('#ul_addon').append('<li><div><span>Ad</span></div><div><span><a href="#">A title.</a></span><span">New Text</span></div></li>'));
});

这个问题是因为您必须一次创建一个完整的元素,也就是说,如果元素有一个开始标记和结束标记,那么它就是开始标记和结束标记。您不能使用jQuery只插入结束标记

要修复代码,如果只使用一个附加,则会更简单,性能更好:

$('#notify').click(function(e){
    $('#ul_addon').append('<li><div><span>Ad</span></div><div><span><a href="#">A title.</a></span><span">New Text</span></div></li>'));
});

为什么你不想保持它的简单,而不是使用太多的附加函数

$document.readyfunction{ $“通知”。单击函数E{ $'ul_addon'。附加'AdNew Text' }; }; 公元 这里有一些文字
Add为什么不想让它保持简单,而不是使用太多的append函数

$document.readyfunction{ $“通知”。单击函数E{ $'ul_addon'。附加'AdNew Text' }; }; 公元 这里有一些文字

AddLooks对我来说很好!你是否正确地查看了console?起初我也希望得到正确的结果,但在检查ul元素后,我发现了一个奇怪的结果,请运行代码段并查看结果!你能告诉我是怎么回事吗?我在检查时看到了这一点。非常感谢!所有答案可能都有效,但我发现Accept可以接受d一个有用的,我的工作完成了。对我来说很好。你正确地看了控制台了吗?起初我也期望得到正确的结果,但在检查ul元素后,我发现了一个奇怪的结果,请运行代码片段并查看结果!你能告诉我哪里错了吗?我在检查时看到了这一点。非常感谢!所有答案都可能有用ing,但我发现接受了一个有用的,我的工作就完成了。OP的代码似乎工作得很好。我也在控制台中检查了它,因为它不会抛出错误,但如果在DOM检查器中检查HTML,你会发现它不是OP所期望的格式,因为我上面提到的问题。@Sandepnayak如果你检查OP、Ad中添加的html,它应该出现在div的旁边。你能告诉我哪里出了问题吗?我在检查时看到了这一点!@RoryMcCrossan:我的错。谢谢!OP的代码似乎工作正常。我也检查了控制台,它工作的事实是它不会抛出错误,但如果你在DOM检查器中检查html,你会发现错误“由于我上面提到的问题,我会发现它的格式不是OP所期望的格式。@Sandepnayak如果你检查OP、Ad中添加的html,它应该出现在div的旁边。你能告诉我怎么了吗?我看到了
当我检查时@罗里姆克洛桑:我的错。谢谢谢谢!所有的答案可能都有用,但我发现这很有用,我的工作也完成了。非常感谢!所有的答案可能都有用,但我发现这很有用,我的工作也完成了。非常感谢!所有的答案可能都有效,但我发现接受了一个有用的答案,我的工作就完成了。非常感谢!所有的答案可能都有效,但我发现接受了一个有用的答案,我的工作就完成了。非常感谢!所有的答案可能都有效,但我发现接受了一个有用的答案,我的工作就完成了。非常感谢!所有的答案可能都有效,但我发现接受了一个有用的答案,我的工作就完成了。