3

运行以下代码:

$('<div>').append('<ul>').append($('<li>').text('text'));

我想拥有

<div>
 <ul>
    <li>text</li>
 </ul>
</div>

我的代码有什么问题?

4

7 回答 7

4

附加函数的顺序是错误的......您现在将 li 附加到 div 旁边,在 ul 旁边,而不是在其中。

这会更好:

var $myList = $('ul').append('<li>text</li>');
$('div').append($myList);
于 2012-08-29T12:00:41.180 回答
3

$('<div>').append('<ul>')退货div jQuery object等等。它用于称为函数链的东西。通常,如果您在 jQuery 中编写,$(selector).method(...)它会返回您通过选择器获得的对象,因此您可以编写$(selector).method1(...).method2(...),例如$(selector).css('color', '#555').text('hello'),它将颜色设置为元素,然后将文本更改为它。

var div = $('<div>');
var ul = $('<ul>').appendTo(div);
var li = $('<li>').text('text').appendTo(ul);

不久:

$('<div>').append($('<ul>').append($('<li>').text('text')));
于 2012-08-29T12:01:21.080 回答
1
$('<div>').append($('<ul>').append($('<li>').text('text'))); 
于 2012-08-29T12:05:24.440 回答
1

如果您只想要 div 而不需要参考,UL或者LI这是一个简单明了的方法:

$('<div><ul><li>text</li></ul></div>');
于 2012-08-29T12:12:03.653 回答
0

It starts from left to right, so you append ul to the div and then append li to the div.
You can fix this using the following.

var $ul = $('<ul>');
var $li = $('<li>').text('text');
$ul.append($li);
$('<div>').append($ul);

or in one line: $('<div>').append($('<ul>').append($('<li>').text('text')));

demo

于 2012-08-29T12:05:28.270 回答
0

正如我看到的那样,每个人都首先尝试四处走动而不是工作想要的..

这是你的html:

<div>
    <ul>
        <li>text</li>
    </ul>
</div>

这是您应该使用的代码

var MyString = "Write something here!"
$("someParent").append('<div> <ul> <li> ' + MyString + ' </li> </ul> </div>');

或者只是做

$("someParent").append('<div> <ul> <li> Text </li> </ul> </div>');

如果您想添加超过 1 个列表项

使用剃刀语法和 MVC:

var items = '@foreach(SelectListItem item in (System.Collections.IEnumerable)ViewData["MYItems"]){ <li> @item.Text </li> }';
$("someParent").append('<div> <ul>' + items + '</ul> </div>');

没有剃刀语法:

var items = "<li> A </li>" + 
            "<li> B </li>" + 
            "<li> C </li>" + 
            "<li> D </li>" +  
            "<li> E </li>";
$("someParent").append('<div> <ul>' + items + '</ul> </div>');

有不止几种方法可以做到这一点,只需选择你想做的事。

于 2012-08-29T12:31:56.640 回答
0

Simply use this

$("#Div_id").append('<ul>
                         <li>ListItem1</li>
                         <li>ListItem2</li>
                         <li>ListItem3</li>
                         <li>ListItem4</li>
                    </ul>');

like this if you put this append for an click event you can generate many lists as the clicks

于 2012-08-29T12:50:13.620 回答