jQuery insertAfter:将插入<但不是<a>

jQuery insertAfter: will insert <li> but not <a>?

本文关键字:insertAfter 插入 jQuery      更新时间:2023-09-26

使用下面的代码:

<ul data-role="listview" id="routelist" data-theme="g">
<li id="firstlistitem" style="display:none;">

$("<li><a href='http://www.google.co.uk'></a></li>").text('content').insertAfter($("#firstlistitem"));  

,并参阅此jsFiddle: http://jsfiddle.net/6MW2e/

为什么我最终得到一个未链接的列表项?如何插入带有链接的元素?

谢谢!

因为您设置的是外部元素(<li>)的文本,而不是内部元素(链接)的文本。

如果你想保持这种语法,你可以尝试:

$('<li></li>')
    .append(
        $('<a href="www.google.co.uk"></a>').text('content'))
    .insertAfter($('#firstlistitem'));

在我看来,如果你直接这样做会更干净:

$('<li><a href="www.google.co.uk">' + content + '</a></li>')
    .insertAfter($('#firstlistitem'));

调用.text("content")时覆盖<li>的文本

$("<li/>", {
    html: $("<a/>", { href: "http://www.google.co.uk", text: content })
}).appendTo("#routelist");
http://jsfiddle.net/hunter/6MW2e/5/