如何使用$(&#39; <li>&#39;)作为jquery选择器?

时间:2016-09-03 08:47:04

标签: jquery html

我发现了一个使用html标签声明的奇怪的jquery选择器,而不仅仅是标签名称:$('<li />')我找不到jquery documentation中的选择器和{{3}为了它。

这是我发现它的一段代码(它用于创建一个新的列表项以附加到一个未经过删除的列表)

$title.on("keyup", e => {
    const title = e.target.value;

    console.log('typed value : ' + title);

    getItems(title)
        .then(items => {
            $results.empty();

            const $items = items.map(item => $('<li />').text(item));
            $results.append($items);
        })
})

请,我需要了解更多关于选择器(或者它不是选择器,而是创建新组件的方法)及其角色。

2 个答案:

答案 0 :(得分:3)

这不是选择器。它以一种漂亮的方式用于creating new elements

  

描述:从提供的原始HTML字符串动态创建DOM元素。

例如,您可以写:

$('<div></div>')
    .addClass('myclass')
    .attr('id', 'myid')
    .append($('<span></span>')
                .text('Hi there')
                .css('color', 'red'))
    .appendTo('body');

此代码段创建以下元素

<div id='myid' class='myclass'>
    <span style='color: red'>
        Hi there
    </span>
</div>

并将其附加到身体上。

答案 1 :(得分:0)

尝试使用以下代码段在ul。

中创建多个li

typedef void (^CompletionBlock) ( NSArray<Medial*>* _Nullable array);
$('button').click(function(){
  var ul = $('<ul>Menu</ul>');
  var li="";
  for(var i = 0; i < 5; i++) {
     li += "<li>"+i+"</li>";
  }
  $('body').append(ul.append(li));
  console.log($('li').length);
});