<body>
<ul>
<li>list item 1</li>
<li>list item 2</li>
<li class="third-item" >list item 3</li>
<li><input type="text" name="test" value = "ceshi"/></li>
<li>list item 4</li>
<li>list item 5</li>
</ul>
<script>
$('li.third-item').next().css('background-color', 'red');
alert($('li.third-item').nextAll().andSelf().length);
</script>
作為一位服務端開發的新手,在遇到對前台元素控制的時候才意識到前端知識的欠缺啊,昨天修改一個復選框選中獲取元素的信息讓我整整修改了一整天,你們可能覺得應該是一個很簡單的問題,但是項目中用的不是簡單的 type = “checked” 這樣的一個input標簽,它是通過bootstrap框架控制的!這讓我頭疼的要命,后來我用了很笨的一種辦法將這個問題給解決了,解決方法就是一層層的獲取標簽對象,在控制里面的值。
今天簡單給大家總結一下獲取頁面元素的方法:
我想大家都知道,獲取標簽可以使用各種選擇器來獲取,我使用的是jquery方式進行對象獲取,$("#third-item") 獲取到當前li標簽;$("li.third-item")同樣可以獲取到。
- 獲取同級元素
$("#third-item").prev();用於獲取指定元素的上一個同級元素
$("#third-item").prevAll();獲取指定元素上面的所有同級元素
$("#third-item").next();用於獲取指定元素的下一個同級元素
$("#third-item").nextAll();獲取指定元素下面的所有同級元素
andSelf();$("#third-item").nextAll().andSelf()表示獲取指定元素下面所有同級元素並加上當前指定元素; 個人感覺這個很有趣
- 獲取父級元素
parent();用於獲取當前元素的直屬父級元素;
parents();獲取當前元素的父級或是更高等級的指定元素;
- 獲取子級元素
方法一:var aNods = $("ul > a"); 查找ul下的所有a標簽
方法二:children();獲取的是當前元素下一集的子元素,參數可選用來過濾子元素
方法三:find();find方法獲得所有下級元素,參數必選;
值得注意的一點是$('li.item-ii').find('li')方法等同於$('li', 'li.item-ii')。這樣寫更便捷
這些獲取元素的方法是可以疊加使用的,這樣可以將結構變得更加清晰,當獲取到的元素是多個同級標簽的時候,我們可以通過循環或者是eq(i)(索引從0開始)的方式獲取想要的標簽!
在js中獲取元素長度用length,而不是size();
更多細致操作請參考jQuery幫助文檔^_^