jquery中操作jQuery對象的eq和get的區別與使用方法–操作前臺顯示之利器

:eq() 選擇器選取帶有指定 index 值的元素。

index 值從 0 開始,所有第一個元素的 index 值是 0(不是 1)。

get(index) 取得其中一個匹配的元素。index表示取得第幾個匹配的元素。

這能夠讓你選擇一個實際的DOM 元素並且對他直接操作,而不是通過 jQuery 函數。$(this).get(0)與$(this)[0]等價。

下面我們通過一個簡單的代碼來說明下:

<script type="text/javascript" src="https://u.myxzy.com/jquery/jquery-1.7.1.js"></script> 
<script> 
$("document").ready(function(){ 
       alert($("li:eq(0)"));
       alert($("li").get(0));
}) 
</script> 
  • Li-1
  • Li-2

得到的結果是

返回結果分別為:[object Object]和[object HTMLLIElement]

可知,eq返回的是一個jquery對象,get返回的是一個html 對象數組。

使用eq來獲得第一個li標簽的color值:

$(“li”).eq(0).css(“color”) //因為eq(num)返回的是個jq對象,所以可以用jq的方法css

使用get來獲得第二個li標簽的color值:

$(“li”).get(1).style.color //因為get(num)返回的是個html對象,所以要使用傳統的HTML對象方法,jq對象此時就沒用瞭。

當然,你也可以get(num)後把對象轉為jq的對象再進行操作:

$($(“li”).get(1)).css(“color”)

由此我們知道,由eq返回的jquery對象,我們可以直接使用jquery的方法如.css(),.html()等,而由get返回的是html數組對象要使用傳統的HTML對象方法或者轉換成jquery對象後再操作 。

NOTE:可以實現同種效果,那麼建議統一使用eq,不必再去費心理會他們之間的區別什麼的瞭。

<script type="text/javascript" src="https://u.myxzy.com/jquery/jquery-1.7.1.js"></script>
<script>
$("document").ready(function(){
$("li:eq(0)").css("color",'red');
$("li").eq(1).css("color",'blue');
$("li").get(2).style.color='green';
$($("li").get(3)).css("color",'yellow');
})
</script>
  • li-1
  • li-2
  • li-3
  • li-4

發佈留言