簡體   English   中英

jQuery獲取每個元素的屬性

[英]jQuery get attribute of every element

因此,一開始我想指出的是,我檢查了其他線程,但它們並沒有幫助我。

所以我得到這樣的一行:

$('div.fsl.fwb.fcb');

它為我提供了所有這些div元素,這很酷,但是我只需要hrefs值,所以我要做

$('div.fsl.fwb.fcb').find('a').attr('href');

根據jQuery文檔,它只給我第一個元素值,它應該是這樣。它說我應該使用.each()或.map()函數,所以我使用.each()

$('div.fsl.fwb.fcb').each(function(){$(this).find('a').attr('href')});

但是它沒有給我值,而是給了我整個div,就像我將這樣的代碼

$('div.fsl.fwb.fcb'); 

我已經在這個論壇上檢查了關於此問題的一個線程,但是答案是在每個函數內部創建一個數組,但是我寧願像函數返回一樣獲取此數組,而不是獲取全局變量。 可能嗎?

$('div.fsl.fwb.fcb a').each返回匹配的元素,而不是回調函數內部的返回值,這就是為什么要獲取所有div的原因:

 var hrefs = []; var divs = $('div.fsl.fwb.fcb a').each(function(){ hrefs.push($(this).attr('href')); }); console.log(divs); //all divs console.log(hrefs); //all hrefs 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <div class="fsl fwb fcb"> <a href="http://foo.com">Foo</a> </div> <div class="fsl fwb fcb"> <a href="http://bar.com">Bar</a> </div> 

關鍵是確定包含該屬性的元素集並對其進行迭代:

$('div.fsl.fwb.fcb').find('a').each(function(){
    $(this).attr('href');
});

EDIT2:想要它在一個數組中:

var myNewArray = [];
$('div.fsl.fwb.fcb').find('a').each(function(){
    myNewArray.push($(this).attr('href'));
});

編輯:這實際上只是同一想法的另一個示例:

var arrayofhref = $('div.fsl.fwb.fcb').find('a').map(function(){
     return $(this).attr('href');
 }).get();

並將其擴展到:

var commanlistofhref = $('div.fsl.fwb.fcb').find('a').map(function(){
     return $(this).attr('href');
 }).get().join();

EDIT3:創造性的使用示例:以文本形式附加到某個元素並將其放在對象中並顯示出來;

var myobj = {
  hrefs: []
};
$('div.fsl.fwb.fcb').find('a').each(function() {
  myobj.hrefs.push({
    href: $(this).attr('href')
  });
  $('#results').append($(this).attr('href') + '<br />');
});
$('#results').append(JSON.stringify(myobj));

玩玩的創意用途: https//jsfiddle.net/4mbh9ra4/

您可以像下面使用map()函數那樣進行操作。

var arr= $('div.fsl.fwb.fcb a').map(function(){
     return this.href;
}).get();

console.log(arr);

你可以做類似的事情

$('div.fsl.fwb.fcb > a').each(function(index, item){$(item).attr('href')});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM