元素中 });
//在页面中点击"菠萝"后,列表最下方出现新节点"菠萝"。
$(this).clone(true).appendTo("body");//注意参数true
在clone()方法传递了一个参数true,它的含义是复制元素的同时复制元素中所绑定的事件,因此该元素的副本也同样具备复制功能。
替换节点
如果要替换某个节点,jQuery提供了相应的方法,即replaceWith和replaceAll()
replaceWith()方法得做哟偶那个是将所有匹配的元素都替换成指定的HTML或者DOM元素。
例如要将网页中你最喜欢的水果是?
替换成你最不喜欢的水果是?可以使用如下jQuery代码: $("p").replaceWith("你最不喜欢的水果是?
");
也可以使用jQuery中另一个方法repalceAll()来实现,该方法与replaceWith()方法得作用相同,只是颠倒了replaceWith的操作。
$("你最不喜欢的水果是?
").replaceAll("p");
注意:
如果在替换之前,已经为元素绑定了事件,替换后原先绑定的事件将会与被替换的元素一起消失,需要在新元素上重新绑定事件。
4.包裹节点
如果要将某个节点用其他标记包裹起来,jQuery提供了相应的方法,wrap(),该方法对于需要在文档中插入额外的结构化标记非常有用,而且不会破坏原始文档的语义。
jQuery代码如下:
$("strong").wrap("");//用标签把元素包裹起来
得到的结果如下:
你最喜欢的水果是?
1.wrapAll()方法
该方法将会将所有匹配的元素用一个元素包裹。
它不同于wrap()方法,wrap()方法将所有的元素进行单独的包裹。
$("strong").wrap("");
2.wrapinner()方法
该方法将每一个匹配的元素的子内容(包括文本节点)用其他结构化的标记包裹起来,例如可以使用它来包裹标签的子内容:
jQuery代码如下:
$("strong").wrapInner("");
运行代码后,发现标签内的内容被一对标签包裹了。
你最喜欢的水果是?
属性操作
在jQuery中,用attr()方法来获取和设置元素属性,removeAtt()方法来删除元素属性。
1.获取属性和设置属性
如果要获取
元素的属性title,那么只需要给attr()方法传递一个参数,即属性名称。
var$para=$("p"); //获取
节点
varp_txt=$para.attr("title"); //获取
元素节点属性title
如果要设置
元素的属性title的值,也可以使用同一个方法,不同的是,需要传递两个参数即属性名称和对应的值。
jQuery代码如下:
$("p").attr("title","yourtitle");//设置单个的属性值
//为同一个元素设置多个属性值
$("p").attr({"title":
"yourtitle","name":
"test"});//将一个"名值"形式的对象设置为匹配元素的属性。
jQuery中的很多方法都是同一个函数实现获取(getter)和设置(setter)的,例如上面的attr()方法,即能设置元素属性的值,也能获取元素属性的值,类似的还有html(),text(),height(),width(),val(),css()等方法。
2.删除属性
有时候需要删除文档元素的特定属性,可以使用removeAttr()方法
删除
元素的title属性
$("p").removeAttr("title");
操作样式
获取样式和设置样式
HTML代码如下:
你最喜欢的水果是?
class 也是
元素的属性,因此获取class 和设置class都可以使用attr()方法。
varp_class=$("p").attr("class");//获取
元素的class
可以使用attr()方法来设置
元素的class,jquery代码如下:
$("p").attr("class","high");//设置
元素的class为high
他是将原来的class替换为class,而不是在原来的基础上追加新的class
追加样式
jQuery提供了专门的addClass()方法来追加样式,为了使例子更为容易理解,首先在