1

我正在阅读有关使用 jquery 的基本文档:http ://learn.jquery.com/using-jquery-core/manipulating-elements/

在标题为“创建新元素”的部分中,有第二个示例,如下所示:

// Creating a new element with an attribute object
$( "<a/>", {
    html : "This is a <strong>new</strong> link",
    "class" : "new",
    href : "foo.html"
});

我不完全理解这一点。

  1. 您如何创建一个带有无效 html 的元素:'a' 后跟正斜杠?

  2. 我一生中从未见过“html”属性。

对此示例的任何解释都会有所帮助。

4

3 回答 3

3

<a/>只是一个自闭合标签,它可以很容易地改写为$("<a></a>")

html属性的值是 jQuery 用来最终设置内部 HTML 内容的值。

于 2013-05-06T05:15:02.133 回答
3

<a/>表示没有内容的标签,也称为自闭合标签。然后将内容添加到其中。

jQuery 将尝试设置html属性解释为设置链接的内容 HTML。

话虽如此,代码有点丑陋。我更喜欢这个:

var a = document.createElement('a');
a.className = "new";
a.href = "foo.html";
a.innerHTML = "This is a <strong>new</strong> link";

或者,对于奖励积分,删除该innerHTML行并将其替换为:

a.appendChild(document.createTextNode("This is a "));
a.appendChild(document.createElement('strong')).appendChild(document.createTextNode("new"));
a.appendChild(document.createTextNode(" link"));
于 2013-05-06T05:15:32.647 回答
0

自闭<a />

早在考虑“新 HTML”时(在 HTML5 之前),Web 开发人员决定下一个 HTML 应该以 XML 为模型。于是,XHTML 诞生了。XML 中的标记约定之一是自闭合标记,用于标记仅存在或仅包含属性的标记。直到今天,我们仍然在现代 HTML 中看到这种约定。虽然有些标签需要结尾,比如我们<a>这里的标签,但其他标签不喜欢 a<br><img>标签,因此,当 XHTML 流行起来时,新的“酷”惯例是自我关闭并在论坛上对不这样做的人大喊大叫你在做同样的事情。这就是她在上面写的全部内容。从技术上讲,它与<a></a>.

HTML 属性

这不是<a>元素的属性,而是使用$('<a />'). 相当于html()jQuery库的方法。它只是分配innerHTML元素的属性。

于 2013-05-06T05:21:43.840 回答