jQuery -> 怎样【先创建、再改动、后加入】 DOM元素

怎样一气呵成地。on the fly地操作DOM元素呢?

比如顺序运行【创建】-> 【改动】-> 【加入】三个动作。


因为jQuery支持链式操作,事实上就是设计模式的builder模式,所以我们能够把三个操作串在一起来运行。

首先创建一个p元素,内容包括一个a元素。

$('<p><a>jQuery</a></p>')


然后为a元素加入一个href属性

$('<p><a>jQuery</a></p>').find('a').attr('href', 'http://www.jquery.com')


最后把新加入的p元素加入到body中

$('<p><a>jQuery</a></p>').find('a').attr('href', 'http://www.jquery.com').end().appendTo('body')


注意,这个地方须要运行end()操作。否则加入到body中的元素不是p元素变成了p元素中的a元素。


事实上,end()操作不能等价与撤销。它返回的是previous selection,可是这个selection已经被end之前的操作改动过。


<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
</head>
<body>
<script type="text/javascript" src="jquery-1.11.1.js"></script>
<script type="text/javascript">
	$('<p><a>jQuery</a></p>').find('a').attr('href', 'http://www.jqeury.com').appendTo('body');
</script>
</body>
</html>

页面代码


posted @ 2017-05-27 11:17  mfmdaoyou  阅读(180)  评论(0编辑  收藏  举报