在我的学习示例中,我使用了var foo
和var $foo
,但是无法区分两者之间的区别:
<p id="css">CSS (Cascading Style Sheets) is a representation style sheet language.</p>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.2.1/dist/jquery.min.js"></script>
<script>
$(document).ready(function(){
var js = "<p id='js'>JavaScript often abbreviated as JS, is a high-level, interpreted programming language.</p>";
var $jquery = $("<p id='jquery'>jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML.</p>");
$("#css").after(js);
$("#css").after($jquery);
})
</script>
在上述最小代码中,当执行诸如$().html, $().before()
之类的插入操作时,它们的功能相同。
答案 0 :(得分:2)
简单的解释是"<p></p>"
是一个简单的字符串。 $("<p></p>")
产生包装在jQuery对象中的实际DOM对象。参见:http://api.jquery.com/jquery/#jQuery2
在下面的代码中查看控制台输出:
var js = "<p id='js'>JavaScript often abbreviated as JS, is a high-level, interpreted programming language.</p>";
var $jquery = $("<p id='jquery'>jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML.</p>");
$("#css").after(js);
console.log(js);
console.log($jquery);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
查看after的文档。您将看到可以插入内容的选项很多,包括HTML字符串或元素。这就是为什么两者在您的代码中都相同的原因。
请注意,在变量名前加$
是一种约定,表示已通过jQuery创建或检索的对象。 $
实际上什么也不做。