javascript - 在下面的例子中, "<ul/>"是拼写错误还是有特殊含义?

标签 javascript jquery html

getJSON ( https://api.jquery.com/jquery.getjson/) 的文档有以下代码:

$( "<ul/>", {

看起来应该是 </ul>反而?或者这有什么特殊的含义,比如它是某些东西的快捷方式,或者斜杠用作转义字符?

$.getJSON( "ajax/test.json", function( data ) {
  var items = [];
  $.each( data, function( key, val ) {
    items.push( "<li id='" + key + "'>" + val + "</li>" );
  });

  $( "<ul/>", {
    "class": "my-new-list",
    html: items.join( "" )
  }).appendTo( "body" );
});

最佳答案

这是一个 jQuery 的东西 - 看我的回答 here了解更多信息。本质上它的作用是创建一个打开和关闭 <ul></ul>标签,但它更简洁。我修改了我的链接答案以显示您的示例的工作原理。从这个 JS 开始:

document.createElement("ul");

然后,您可以像这样对它进行 jQuery:

$("<ul></ul>");

而且因为它是 jQuery,而且它变得越来越简洁,它最终变成了紧凑的、自闭合的符号:

$("<ul/>");

您拥有自闭合标签的另一个原因是因为它是一个 元素——它没有子元素。所以它是一个自闭合标签的原因是因为它表明您正在创建一个空元素。


以下是每一段代码的作用:

$( "<ul/>", {...})

如上所示,这会创建一个空的 <ul></ul>元素。

"class": "my-new-list"

这将添加类 my-new-list到元素,所以它看起来像:

<ul class="my-new-list"></ul>

这一行:

html: items.join("")

设置innerHTML <ul></ul> 的属性(property)元素为 items数组连接成一个字符串。

最后,这一行:

.appendTo("body");

将元素附加到页面主体。到目前为止,我们的元素看起来像:

<ul class="my-new-list">TheItemsArray</ul>

它被插入到 <body> 的最后元素,就在收盘前 </body>标签。

关于javascript - 在下面的例子中, "<ul/>"是拼写错误还是有特殊含义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53939587/

相关文章:

javascript - 使用带有大括号和三元运算符的箭头函数来解决 setState 的回调错误?

javascript - 有关闭包和内部IIFE的一些问题

Jquery 启用或禁用 CSS

jQuery 使用 ID 创建新的 div?

html - 具有下拉菜单样式的 CSS 菜单

javascript - 当您需要提供回调以安装事件处理程序时如何避免关闭

javascript - 使用 JQuery 仅显示小数点后 2 位

javascript - JQuery 应用存储在变量中的 css

Jquery 菜单不工作

html - 在 XSL 中像 WPF WrapPanel 一样显示图像