0

我有以下 HTML 结构:

<div class="list-comments one">
    <ul>
        <li>
            <span>1</span>
            <p class="title"><a href="#">Welcome!</a></p>
            <div class="list-subcomments" style="display: none;">
                <div class="list-comments two">
                    <ul>
                        <li>
                            <span>2</span>
                            <span style="text-align:center;">Josh</span>
                        </li>
                    </ul>
                </div>
            </div>
        </li>
    </ul>
</div>

我想在第一个 ul 中添加一个新的 li,如下所示:

var html = '';
html = '<li>';
html = '<span>1</span>';
html = '<p class="title"><a href="#">Antoher Welcome!</a></p>';
html = '<div class="list-subcomments" style="display: none;">';
html = '<div class="list-comments two">';
html = '<ul></ul>';
html = '</div>';
html = '</div>';
html = '</li>';
$(".one ul").append(html);

我只是希望将它添加到第一个 ul 中,但它添加了两个 ul。

4

3 回答 3

1
$(".one ul:first").append(html);

或者

$(".one > ul").append(html);

小提琴 - http://jsfiddle.net/D7RF3/

于 2012-11-18T11:54:31.883 回答
1

您可以使用child选择器:

$(".one > ul").append(html);

:first选择器:

$(".one ul:first").append(html);

请注意,您正在覆盖值而不是连接它们,您应该+=代替=;

var html = '';
html += '<li>';
html += '<span>1</span>';
// ...
html += '</li>';
于 2012-11-18T11:54:47.357 回答
0

那是因为该 div 下方有两个ul元素。你有两个选择。

$('.one ul').first().append(html);

或者

$('.one > ul').append(html);
于 2012-11-18T11:54:57.887 回答