2013-08-04 127 views
0

我有以下HTML:如何按属性查找div元素?

<body> 
    <div id="contentPane"> 
    ... 
    ... 
    <div guidedhelpid="friendsuggestions"> 
    ... 
    </div> 
</body> 

我需要做一些改变guidedhelpid。例如,$(#theElem).remove()

注意:我可以根据请求使用jQuery。

这样做的最佳方法是什么?

+0

我认为[这](http://stackoverflow.com/questions/9496427/how-to-get-elements-by-attribute-selector-w-可能本机JavaScript的禾雀ryselector)可以帮助你制作你自己的JS函数,而不是jquery。 – woofmeow

+1

[在jQuery中查找具有特定属性值的所有元素]的可能重复(http://stackoverflow.com/questions/4958081/find-all-elements-with-a-certain-attribute-value-in-jquery) –

+3

我建议使用'data- *'属性,以便您的HTML有效。 –

回答

3

如果你正在使用jQuery(根据要求),那么你可以做$('div[guidedhelpid=friendsuggestions]')

对于纯JavaScript,您可以使用此函数返回包含属性名称元素的数组:

function getElementsByAttributeName(attr) { 
    var arr_elms = document.body.getElementsByTagName("*"), 
     elms_len = arr_elms.length, 
     return_arr = []; 

    for (var i = 0; i < elms_len; i++) { 
     if(arr_elms[i].getAttribute(attr) != null){ 
      return_arr.push(arr_elems[i]); 
     } 
    } 

    return return_arr; 
} 
1

如果使用jQuery它仅仅是由

var div = $('div[guidedhelpid="friendsuggestions"]');