2011-05-20 2 views
2

Так что я просто нужно напоминание,Как определить DIV без использования ID или имя класса

Каждый элемент может иметь только 1 идентификатор, но несколько классов возможны,

Но что, если я был бы как иметь 2 способа однозначно идентифицировать объект без классов?

Я не могу вспомнить его имя, нечто вроде тэга, которое можно использовать в дополнение к ID.

И как бы вы идентифицировали этот объект в jQuery?

Для классов это: $ ('. Class'), для ID это $ ('# id'), но как насчет этой вещи, которую я смутно описываю?

Тейлор

ответ

6

Я не могу вспомнить имя из этого, что-то вроде Tagname, которое может быть использовано в дополнение к ID.

Вы могли бы думать о GetElementsByTagName(), но возвращает коллекцию: https://developer.mozilla.org/en/DOM/element.getElementsByTagName.

Вы можете использовать произвольные атрибуты в любом современном браузере (jQuery делает это за кулисами). Таким образом, вы можете поместить любой атрибут, который вы хотите на элемент, и найти его с помощью селектора атрибутов jQuery (как указал @Dave в его ответе).

<div myAttribute="foo"></div> 

<script> 

var element = $("div[myAttribute='foo']"); // matches all divs with "myAttribute" set 

</script> 

Есть много вариантов: http://api.jquery.com/category/selectors/

+0

ничего себе, это здорово. спасибо – TaylorMac

1

Просто используйте "имя" атрибут:

<div id="something" name="something"></div> 

Затем ссылаться на него по идентификатору, как обычно, или по имени, как это:

$('[name="something"]') 

Info on on this selector here.

+0

как бы я определить это с помощью селектора JQuery? – TaylorMac

+0

Спасибо! Я проверю ссылку – TaylorMac

+1

. Вы не должны использовать 'name', если это не' input' или другой элемент формы. Он все еще может работать, но в современном HTML это неверно. – Jacob

Смежные вопросы