在jquery

时间:2018-04-08 16:37:24

标签: jquery

jQuery文档没有提到这个案例,但它仍然有效。所以,我想稍微提一下它们。

var div1 = $("<div></div>");
var div2 = $("<div>");

他们两个都创建了相同的div标签,为什么没有文档说我们应该使用第二个writing code faster

想象一下,如果我们想要创建这样的模板:

<div class="parent">
    <div class="child">
        <span>Welcome!<span>
    </div>
</div>

我们应该这样做(1)

$('<div class="parent"><div class="child"><span>Welcome!</span></div></div>');

(2)

$('<div class="parent"></div>').html($('<div class="child"></div>').html($('<span>Welcome!</span>')));

(3)

$('<div>').addClass('parent').html($('<div>').addClass('child').html($('<span>').text('Welcome!')));

var span = $('<span>').text('Welcome!'),
    child = $('<div>').addClass('child').html(span),
    parent = $('<div>').addClass('parent').html(child);

正如我们所看到的,(3)非常容易编写和阅读,因为我们不需要关心结束标记。

1

我们是否应该在主站点上提示使用此功能?如果没有,请在使用时纠正错误。

谢谢!

1 个答案:

答案 0 :(得分:0)

详见"Creating New Elements"

部分
  

当参数包含单个标记(带有可选的结束标记或快速关闭) - $( "<img />" )$( "<img>" )$( "<a></a>" )$( "<a>" )时,jQuery会使用本机JavaScript .createElement()函数。