当前位置: 代码迷 >> Web前端 >> jQuery开展DOM操作
  详细解决方案

jQuery开展DOM操作

热度:206   发布时间:2012-11-26 11:48:49.0
jQuery进行DOM操作

1.在元素内部插入DOM元素

①插入到元素内部原有元素之后

append(content) ? ? ?返回值:jQuery ?参数-content:要插入的元素String,Element,jQuery

为每一个匹配的元素内添加一些元素,参数既可以是字符串也可以是jQuery对象,如下:

$("#1").append("input type='button' value='确定'/>") ? 在1的内部元素的后面添加一个按钮

$("#1").append($(".class")[0]) ?在1的内部元素的后面添加css类为class的元素集中的第一个元素

appendTo(content) ?返回值:jQuery ?参数-content:被插入的元素StringElement,jQuery

把所有匹配的元素添加到指定的元素内,参数既可以是字符串也可以是jQuery对象,如下:

$("#1").appendTo($("#2")) ?在2的内部元素的后面添加1

②插入到元素内部原有元素之前

prepend(content) ? ? ?返回值:jQuery ?参数-content:要插入的元素String,Element,jQuery

prependTo(content) ?返回值:jQuery ?参数-content:要插入的元素String,Element,jQuery

它们分别与append(content)和appendTo(content)的用法一致,但区别是它们是在被插元素的内部元素之前插入元素

以上函数都只能匹配div等容器性质的元素,因为这些函数是为匹配元素内部添加元素,如一下给input添加元素会出错,因为input不能包含元素

$("input").append("ABC");

?

2.在元素外部插入DOM元素

①插入到元素外部之后

after(content) ? ? ? ? ? ? 返回值:jQuery ?参数-content:要插入的元素String,Element,jQuery

为每一个匹配的元素后面添加一些元素,参数既可以是字符串也可以是jQuery对象

insertAfter(content) ? ?返回值:jQuery ?参数-content:要插入的元素String,Element,jQuery

把所有匹配的元素添加到指定的元素后面

$("#1").after($("#2")) ?把2添加到1后面 ? ?$("#1").insertAfter($("#2")) ? 把1添加到2后面

②插入到元素外部之前

before(content) ? ? ? ? ? ? 返回值:jQuery ?参数-content:要插入的元素String,Element,jQuery

insertBefore(content) ? ?返回值:jQuery ?参数-content:要插入的元素String,Element,jQuery

它们分别与after(content)和insertAfter(content)的用法一致,但区别是它们是在被插元素的外部之前插入元素

?

3.包裹DOM元素

①包裹外部元素

wrap(content) ?返回值:jQuery ?参数-content:包裹元素的元素Element,String,jQuery

为每一个匹配的元素外面包上一层元素

$(".1").wrap("#2") 为css类是1的元素外面包上2元素 ? $(".1").wrap("<div class='3'></div>") ?包上<div>

wrapAll(content) ??返回值:jQuery ?参数-content:包裹元素的元素Element,String,jQuery

为所有匹配元素在他们外面包裹一个元素

$(".1").wrapAll("<div class='3'></div>") ? 为所有css类是1的元素外面只包一层<div>

②包裹内部元素

wrapInner(content) ?返回值:jQuery ?参数-content:包裹元素的元素Element,String,jQuery

为每一个匹配元素内的所有子元素外部包一层元素

?

4.替换DOM元素

replaceAll(selector) ?返回值:jQuery ?参数-selector:替换的元素Element,jQuery

用匹配的元素替换掉所有selector匹配的元素

$("#1").replaceAll(".class") ?用1替换掉所有css类是class的元素

replaceWith(content) ?返回值:jQuery ?参数-content:用来替换的元素String,Element,jQuery

将所有匹配的元素用指定的HTML或DOM元素替换

$(".class").replaceWith("#1") ??用1替换掉所有css类是class的元素

$(".class").replaceWith("<div class='3'></div>") ? 用div替换掉所有css类是class的元素

?

5.删除DOM元素

empty() ?返回值:jQuery ?删除所有匹配元素的内容,只是内容,还剩架子

remove(expr) ? 返回值:jQuery ?参数-expr:筛选元素的表达式String ? ? 删除所有匹配的DOM元素

?

6.克隆DOM元素

clone(true) ?返回值:jQuery ?参数-true:是否将被克隆的元素的所有事件也克隆到新的元素上

$("#1").clone(true).appendTo("#2")

将1连其绑定的事件一起克隆,然后将克隆的新元素添加到2元素的内部所有子元素之后

?

  相关解决方案