2 bogexueqianduan bogexueqianduan 于 2016.01.27 07:11 提问

$("<p></p>").text("Text."),帮忙解释一下这个是什么?

因为我目前知道$("这里面要写选择器")

$("<p></p>").text("Text.")

但是上面这段代码双引号里写了

 <p></p>

然后我就迷糊了,因为看下面的源码的话,是创建了一个p标签,不是选择了p标签,所以我想知道$("

").text("Text.") 这个是什么

下面是源码:

 <script>
function appendText()
{
var txt1="<p>Text.</p>";              // Create text with HTML
var txt2=$("<p></p>").text("Text.");  // Create text with jQuery
var txt3=document.createElement("p");
txt3.innerHTML="Text.";               // Create text with DOM
$("body").append(txt1,txt2,txt3);        // Append new elements
}
</script>
</head>
<body>

<p>This is a paragraph.</p>
<button onclick="appendText()">Append text</button>

就是在这看到的 http://www.runoob.com/try/try.php?filename=tryjquery_html_append2

 This is a paragraph.

Append text
Text.

Text.

Text.

其他的都可以理解,就是第二个Text. 理解不了是怎么创建出来的

3个回答

showbo
showbo   Ds   Rxr 2016.01.27 09:38
已采纳

jquery参数除了是选择器,还可以是是dom对象和html字符串,html字符串就是在内存中生成新的dom,你要显示需要添加到dom树种才行

showbo
showbo 回复无聊码农: 或者函数,作为dom ready时执行的
接近 2 年之前 回复
showbo
showbo 回复伯格学前端: 其实就是选中元素(为选择器或者dom对象)或者创建新元素(html代码)
接近 2 年之前 回复
bogexueqianduan
bogexueqianduan 意思是说$("") 这个语法不仅可以用作选择器,还可以用来生成新的dom是吗
接近 2 年之前 回复
caozhy
caozhy   Ds   Rxr 2016.01.27 07:32
 var txt1="<p>Text.</p>";              // Create text with HTML
var txt2=$("<p></p>").text("Text.");  // Create text with jQuery
var txt3=document.createElement("p");
txt3.innerHTML="Text.";               // Create text with DOM 从效果上说txt1 txt2 txt3等价
$("body").append(txt1,txt2,txt3);        // Append new elements 将这3个标签依次添加到body下
}
bogexueqianduan
bogexueqianduan 感谢回复~
接近 2 年之前 回复
a510835147
a510835147   2016.01.27 09:01

$("

").text("Text.") 这句话的意思是创建一个 p元素,然后它的innerText是 Text.
qq_20389175
qq_20389175 <p>Text </p> 就是这么个结果,完全可以写成$("<p>Text</p>")
接近 2 年之前 回复
qq_26946497
qq_26946497 对……
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!