jQuery insertAfter:将插入<li>但不插入<a>?</a> </li>

时间:2011-04-26 19:04:54

标签: javascript jquery

使用此代码:

<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/

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

谢谢!

2 个答案:

答案 0 :(得分:4)

因为您正在设置外部元素(<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'));

答案 1 :(得分:0)

当您致电<li>

时,您会覆盖.text("content")的文字
$("<li/>", {
    html: $("<a/>", { href: "http://www.google.co.uk", text: content })
}).appendTo("#routelist");

http://jsfiddle.net/hunter/6MW2e/5/