2013-08-04 3 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-функцию ppure javascript no 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"]'); 
Смежные вопросы