gpt4 book ai didi

javascript - 在 JQuery 中,.html(var) 与 .html(var.html())

转载 作者:行者123 更新时间:2023-11-28 20:05:09 25 4
gpt4 key购买 nike

此代码是为了上下文而提供的,请参阅下面的我的问题:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"   
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Document</title>
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
$("document").ready(function() {

var newItem = $("<p>This is a new paragraph</p>");
$("#para2").html(newItem.html());
});
</script>
<style type="text/css">
.a { color: Navy; }
.b { color: Maroon; }
</style>
</head>
<body>
<ul id="list1">
<li class="a">item 1</li>
<li class="a">item 2</li>
<li class="b">item 3</li>
<li class="b">item 4</li>
</ul>
<p class="a">This is paragraph 1</p>
<p id="para2">This is paragraph 2</p>
<p class="b">This is paragraph 3</p>
<p>This is paragraph 4</p>
</body>
</html>`
<小时/>

这是我感兴趣的部分:

var newItem = $("<p>This is a new paragraph</p>");
$("#para2").html(newItem.html());
<小时/>

它的功能似乎与此相同:

var newItem = $("<p>This is a new paragraph</p>");
$("#para2").html(newItem);

前一种方法,我在一个教授 jQuery 的视频演示中注意到。据我所知,添加的.html()部分的作用是获取匹配的元素。对我来说,在这种情况下获得它似乎没有帮助,因为在 var newItem = $("<p>This is a new paragraph</p>"); 中$() 已经使其成为 Jquery 对象。

<小时/>

问题:

上述两种方法之间是否存在有意义且有影响力的差异,或者只是编码偏好的问题?

最佳答案

html() 将元素内的 HTML 序列化为字符串。

在本例中,不同之处在于 $("#para2").html(newItem.html()); 将为您提供一些文本,而 $("#para2").html(newItem); 将为您提供一个包含该文本的段落

由于#para2是一个段落,而HTML不允许段落嵌套,后者也会生成无效的HTML。

<小时/>

如果您没有同时从头开始创建该段落(例如,如果 var newItem = $("#existingParagraph");),那么您也会移动 元素而不是复制其内容。

<小时/>

由于您只是更改元素中的文本,因此无需首先创建 jQuery 对象。

这个:

    var newItem = $("<p>This is a new paragraph</p>");
$("#para2").html(newItem.html());

相当于:

    $("#para2").html("This is a new paragraph");

关于javascript - 在 JQuery 中,.html(var) 与 .html(var.html()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20941243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com