2

我是一个菜鸟,对 event.preventDefault 的 jQuery API 文档中的一些示例代码感到困惑:

<!DOCTYPE html>
<html>
<head>
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
</head>
<body>

<a href="http://jquery.com">default click action is prevented</a>
<div id="log"></div>

<script>
$("a").click(function(event) {
    event.preventDefault();
$('<div/>')
    .append('default ' + event.type + ' prevented')
    .appendTo('#log');
});
</script>

</body>
</html>

为什么这里同时使用 append() 和 appendTo()?一个应该不够吗?为什么使用 self-closed$('<div/>')而不是 simple $('<div>')

4

2 回答 2

3
$('<div/>').append('default ' + event.type + ' prevented')

返回附加文本的 div。

并且这个 div 被附加到'#log'元素上。

链接函数调用是拥有这两个函数的有用之处。

从文档中:

.append() 和 .appendTo() 方法执行相同的任务。主要区别在于语法,内容和目标的位置。使用 .append(),方法前面的选择器表达式是插入内容的容器。另一方面,使用 .appendTo(),内容在方法之前,作为选择器表达式或作为动态创建的标记,它被插入到目标容器中。

根据您的第二个问题,$('<div>')可以用来代替$('<div/>'),是的,但是后者的目的(添加整个元素)更加明显。

于 2013-05-29T19:53:26.050 回答
2

append() 将参数插入到 tue 元素,并且 appendTo() 将所选元素插入作为参数放置的元素中

于 2013-05-29T19:58:17.600 回答