#節點選取
-
找父親節點,可以傳入expr進行過濾,比如jQuery.parent(expr)
或者$("span").parent()
$("span").parent(".class")
-
,類似于jQuery.parents(expr)
,但是是查找所有祖先元素,不限于父元素jQuery.parents(expr)
-
.傳回所有子節點,這個方法隻會傳回直接的孩子節點,不會傳回所有的子孫節點jQuery.children(expr)
-
,傳回下面的所有内容,包括節點和文本。這個方法和jQuery.contents()
的差別就在于,包括空白文本,也會被作為一個jQuery對象傳回,children()
則隻會傳回節點children()
-
,傳回上一個兄弟節點,不是所有的兄弟節點jQuery.prev()
-
,傳回所有之前的兄弟節點jQuery.prevAll()
-
,傳回下一個兄弟節點,不是所有的兄弟節點jQuery.next()
-
,傳回所有之後的兄弟節點jQuery.nextAll()
-
,傳回兄弟姐妹節點,不分前後jQuery.siblings()
-
,跟jQuery.find(expr)
完全不一樣。jQuery.filter(expr)
是從初始的jQuery對象集合中篩選出一部分,而jQuery.filter()
的傳回結果,不會有初始集合中的内容,比如jQuery.find()
,是從 p元素開始找,等同于$("p"),find("span")
$("p span")
#節點插入
###添加節點的jquery方法:
append()、prepend()、appendTo() 、prependTo()
###插入節點的jquery方法:
after() 、before() 、insertBefore() 、insertAfter()
舉個例子來說明以上幾種方法的用法:
html例子:
<nav>
<ul>
<li>序列号1</li>
<li>序列号2</li>
<li>序列号3</li>
</ul>
</nav>
###添加節點
1、append()方法:
script:
var $div = '<div>append添加的節點</div>';
$('nav').append($div); //将新建立的div節點插入到nav容器的内容底部
html:
<nav>
<ul>
<li>序列号1</li>
<li>序列号2</li>
<li>序列号3</li>
</ul>
<div>append添加的節點</div>
</nav>
2、prepend()方法:
script:
var $div = '<div>append添加的節點</div>';
$('nav').append($div); //将新建立的div節點插入到nav容器的内容頂部
html:
<nav>
<div>prepend添加的節點</div>
<ul>
<li>序列号1</li>
<li>序列号2</li>
<li>序列号3</li>
</ul>
</nav>
3、appendTo()方法:
script:
var $div = '<div>append添加的節點</div>';
var nav = $('nav');
//$div.appendTo($nav); //這樣寫是錯誤的
$('<div>append添加的節點</div>').appendTo($nav);//真理在這裡。。 将新建立的節點添加到nav的内容後面
html:
<nav>
<ul>
<li>序列号1</li>
<li>序列号2</li>
<li>序列号3</li>
</ul>
<div>appendTo添加的節點</div>
</nav>
4、prependTo()方法:
script:
var $div = '<div>append添加的節點</div>';
var nav = $('nav');
//$div.prependTo($nav); //和前面同理,這樣寫是錯誤的
$('<div>append添加的節點</div>').appendTo($nav);//真理在這裡。。 将新建立的節點添加到nav的内容的前面
html:
<nav>
<div>prependTo添加的節點</div>
<ul>
<li>序列号1</li>
<li>序列号2</li>
<li>序列号3</li>
</ul>
</nav>
###插入節點
5、after()方法:
script:
var $l_1 = $('ul>li:nth-of-type(1));
var $l_2 = $('ul>li:nth-of-type(2));
var nav = $('nav');
$l_2.after($l_1); //這裡可以這麼了解,第2個li後面跟着第1個li。
html:
<nav>
<ul>
<li>序列号2</li>
<li>序列号1</li>
<li>序列号3</li>
</ul>
</nav>
6、before()方法:
script:
var $l_1 = $('ul>li:nth-of-type(1));
var $l_2 = $('ul>li:nth-of-type(2));
var nav = $('nav');
$l_1.before($l_2); //這裡可以這麼了解,第1個li前面是第2個li。
html:
<nav>
<ul>
<li>序列号2</li>
<li>序列号1</li>
<li>序列号3</li>
</ul>
</nav>
7、insertBefore()方法:
script:
var $l_1 = $('ul>li:nth-of-type(1));
var $l_2 = $('ul>li:nth-of-type(2));
var nav = $('nav');
$l_2.insertBefore($l_1); //将第2個li插入到第1個li前面
html:
<nav>
<ul>
<li>序列号2</li>
<li>序列号1</li>
<li>序列号3</li>
</ul>
</nav>
8、insertAfter()方法:
script:
var $l_1 = $('ul>li:nth-of-type(1));
var $l_2 = $('ul>li:nth-of-type(2));
var nav = $('nav');
$l_1.insertAfter($l_2); //将第1個li插入到第2個li後面
html:
<nav>
<ul>
<li>序列号2</li>
<li>序列号1</li>
<li>序列号3</li>
</ul>
</nav>