2013-04-02 6 views
1

Я просто хотел быстрый/легкий/простой способ для проверки существующих ID на конкретный элемент (Div в данном случае) ..Как getElementByID в конкретном блоке DIV (JS или JQuery)

Не может похоже, найти образец кода для этого .. с использованием jquery, но я не думаю, что мне нужно сделать jquery на этом, просто базовый getElement .., но мне нужно изолировать поиск внутри блока div ... потому что id существует в другом элементов на странице, но мне нужно знать, существует ли она в определенной области/div.

поэтому вместо того, чтобы просто

document.getElementById(target_id); 

мне нужно что-то вроде:

divName.getElementById(target_id); 

или

$("document.divName").getElementById(target_id); 

или

$(".divName").document.getElementById(target_id); 

Не может найти что-то, что работает.

+3

У вас не должно быть двух элементов с одним и тем же идентификатором на одной странице; возможно, вы хотели бы пересмотреть свои планы? :) –

+1

'var mySubDiv = parentDiv.querySelector (" # subDivId ")' – reuns

ответ

18

Идентификаторы должны быть уникальными, и ни один из двух элементов на странице не должен иметь одинаковый идентификатор. Вы можете искать некоторый элемент с некоторым классом в div с определенным идентификатором.

$('#divId .someClass') 

или с помощью find()

$('#divId').find('.someClass') 

или с помощью context, jQuery(selector [, context ])

$('.someClass', $('#divId')) 
+1

Спасибо за образцы кода. Я понимаю. и да, я не собирался иметь два одинаковых идентификатора на одной странице. Проектирование системы im может использовать идентификатор в определенных областях div, поэтому мне нужно проверить, что w/c div имеет его, чтобы обработать остальную часть моей программы. ,я мог бы использовать разные имена атрибутов в каждой области div, но мне нравится держать его стандартным, используя только «id» вместо «id_div1» и «id_div2» и т. д. :) спасибо за напоминание, хотя :) – BrownChiLD

+1

+1, потому что я никогда слышал о (скрученном) синтаксисе 'context'! –

1

id «s должно быть уникальным, вы можете проверить элемент с помощью:

$(".your_parent_div").find("div#some_unique_id"); 
0

вы можете использовать его для getElementsByTagName или ClassName, но идентификатор уникален над документом. поэтому не нужно это делать. лучше использовать специальный идентификатор. и в каждом id определяют как элемент в javascript, и вы можете просто написать имя и использовать его, например: ID.style.color = red;

3
var mySubDiv = myParentDiv.querySelector("#mySubDivId") 

эквивалентно

var mySubDiv = document.querySelector("#myParentDivId #mySubDivId"); 
    // don't forget the space : #myParentDiv#mySubDivId won't work 

где querySelector и querySelectorAll являются very useful functions, достаточно для меня, чтобы избежать использования jQuery: they accept any css selector

в реальной жизни, используя тот же идентификатор для различных DOM elements часто бывает ,

+2

очень полезный трюк! thank 'var x = document.querySelector (" # parent "). querySelector (" # child ");' –

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