2012-03-18 52 views
1

查找元素ID我需要一個a - 標記的ID其風格找到。通過其風格

我的元素有類.sort

元素的風格編程兩種GET功能中的一個先前添加的,我必須找到它在第三get函數。

+1

你好,你有什麼代碼秀的人嗎?將有幫助,歡呼 – 2012-03-18 21:54:00

+1

發佈您的代碼,直到現在 – DG3 2012-03-18 21:54:22

回答

2
var result = $('a.sort[style="foo"]').attr('id'); 

或者,如果你不使用內嵌樣式(你不應該...):

var result = $('a.sort').filter(function(){ 
          return $(this).css('foo') == valueYouAreSearching; 
         }).attr('id'); 

注意,由式搜索聽起來彆扭!
只需添加元素的新類,並通過它尋找它的新的類名稱:

var result = $('a.sort.newClass').attr('id'); 
+0

謝謝@gdoron! – 2012-03-18 23:37:52

+0

** @ DownVoter **關注評論? – gdoron 2012-03-19 12:19:23

1

如果元素是唯一一個與類.sort

var theID = $(".sort")[0].id; 

或者你也可以做這樣的事情:

var theID = $(".sort").filter(function() { 
    return $(this).css("marginLeft") == 0; 
})[0].id; 

給你的第一個元素的ID.sort類和marginLeft設置爲0

爲了確保這將永遠即使突破你有沒有匹配:

var theID = ($(".sort").filter(function() { 
    return $(this).css("marginLeft") == 0; 
})[0]||{}).id; 

然後ID將包含一個DOM元素的idundefined

+0

你可以用'.attr('id')'簡化它,像我一樣。再沒有發明輪子的理由... =) – gdoron 2012-03-18 22:02:50

+1

導致我的方法速度提高10倍:http://jsperf.com/attr-id-vs-0-id – andlrc 2012-03-18 22:08:32

+0

** 0.00001 VS 0.00010 **。我正在選擇可讀版本!這是_premature優化,所有邪惡的根源._ – gdoron 2012-03-19 12:10:53