2015-11-24 142 views
1

兩部分對我的問題。 只是我一直想知道的事情。

1)什麼是兩者的區別:

$('img[alt]').get(-1); // ignore the .get 

VS

$('img').attr('alt').get(-1); // ignore the .get 

爲第一個選項訪問圖像的alt屬性的一個有效方法是什麼?或者只是第二個有效的?

和2)在.get請求中是否有一個數字(否定或否定)作爲參數是否合法?我肯定這不是,但我想確定...謝謝!

+0

第二個與'.get()'無效。 '.attr()'返回一個字符串,但'.get()'是一個jQuery對象的方法。 – Barmar

回答

1

它們是不同的。第一個選項沒有得到alt屬性,而第二個選項沒有。

  • ​​- 選擇器img[alt]將選擇一個img元件與alt屬性。值得一提的是,[alt]attribute selector

    換句話說,基於選擇img[alt]

    <!-- This img element would be selected because it *has* an 'alt' attribute. --> 
    <img src="../" alt="Alt attribute" /> 
    
    <!-- This img element would NOT be selected. --> 
    <img src="../" /> 
    
  • $('img').attr('alt') - 的.attr() method將或者獲取或設置所選擇的元件(一個或多個)的屬性。因此在這種情況下,$('img').attr('alt')檢索 元素的alt屬性。


.get() method將檢索由jQuery選擇匹配的DOM元素(一個或多個)。此方法接受的唯一參數是要獲取的元素的索引。此參數是可選的,索引-1不會返回元素。


作爲一個側面說明,你不能鏈.get()方法.attr()方法之後。