JQuery学习笔记(3)——节点操作 节点查找

插入节点

内部插入

所谓的内部插入,就是指在节点里面的插入,而外部插入,则是在节点外面插入。

  • append()
  • prepend()
  • appendTo()
  • prependTo()

append和prepend是相反的
后面以To结尾的,参数为被插入内容的节点

append可以理解为尾部插入,prepend为头部插入

//在div里面的内容,末尾再追加一个p标签,插入的p标签在div所有子元素的末尾
$("#mydiv").append($("<p>末尾插入</p>"));

//在div里面的内容,头部追加一个p标签,插入的p标签位于div的所有子元素的首位
$("#mydiv").prepend($("<p>头部插入</p>"));

//下面两种鱼上面的效果是一样的,只是调用的对象和参数这两者换了位置
$("<p>末尾插入</p>").appendTo($("#mydiv"));

$("<p>头部插入</p>").prependTo($("#mydiv"));

外部插入

  • after()
  • before()
  • insertAfter()
  • insertBefore()

这里,使用方法与之前的内部插入类似

//div之后插入一个p标签,p标签和div是同级关系
$("#mydiv").after($("<p>末尾插入</p>"));
//div之前插入一个p标签,p标签和div是同级关系
$("#mydiv").before($("<p>头部插入</p>"));
//把p标签插入到div之后,同级
$("<p>末尾插入</p>").insertAfter($("#mydiv"));
//把p标签插入到div之前,同级
$("<p>末尾插入</p>").insertBefore($("#mydiv"));

替换节点

下面的两个方法,效果一样,只是调用对象和目标相反

  • replaceWith(content|fn)
$('div.second').replaceWith('<h2>New heading</h2>');
  • replaceAll(selector)
$('<h2>New heading</h2>').replaceAll('.inner');

删除节点 克隆节点

删除节点

  • empty()
    删除节点下面的所有元素,只保留节点
  • remove([selector])
    删除节点,包括节点本身,可以添加选择器进行过滤
  • detach([selector])
    删除节点,但保留节点属性,可以添加选择器进行过滤

克隆节点

clone()

var btn = $('#mybutton').clone();
//在添加到某个节点之前可以修改属性
btn.css({background:red});
btn.appendTo($('#mydiv'));

查找节点

我们获得一个节点,想要获取它的子节点或者父节点,都是属于查找节点

下列的方法,未标明返回类型的,都是返回一个JQuery对象

过滤

  • first() 获得第一个节点
  • last() 获得最后一个节点
  • boolean hasClass() 获得包含有某个样式的节点
<div id="mydiv" class="foo bar"></div>

上面的div有两个样式,使用hasClass,参数为两个的样式中的一个,都会返回true

$('#mydiv').hasClass('foo') 返回true
$('#mydiv').hasClass('bar') 返回true
  • has(selector) 获得包含某个元素的节点
<ul>
<li></li>
</ul>
<ul></ul>

$('ul').has('li').css(); ul中包含有li的ul的css会被修改

查找

  • find(selector) 查找后代元素
  • children(selector) 只查找子元素
  • eq(index) 获得节点里指定索引的子元素(调用的jQuery对象包含多个元素)
$('tbody').eq(2)  //0开始,索引为
$('tbody').eq(-1) //倒数第一个
posted @ 2019-07-19 10:49  Stars-one  阅读(587)  评论(0编辑  收藏  举报