2013-04-02 34 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

你不應該在一個頁面上有兩個具有相同ID的元素;也許你想重新考慮你的計劃? :) –

+1

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

回答

18

ID應該是唯一並且頁面中沒有兩個元素應該具有相同的ID。你可以搜索某些具有特定ID的div中的某個元素。

$('#divId .someClass') 

或使用find()

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

或使用contextjQuery(selector [, context ])

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

感謝您的代碼示例。我知道了。是的,我不打算在一個頁面中有2個相同的ID ..系統即時設計可能會在特定的div區使用id,因此我需要檢查w/c div有它,以便處理我的例程的其餘部分。 。我可以在每個div區域使用不同的屬性名稱,但我喜歡保持它的標準,只使用「id」而不是「id_div1」和「id_div2」等:) 感謝您的提醒:) – BrownChiLD

+1

+1因爲我從來沒有聽說過(扭曲的)''context'語法! –

1

id的應該是唯一的,你可以使用檢查元素:

​​
0

您可以將其用於getElementsByTagName或ClassName,但ID在文檔上是唯一的。所以不需要那樣做。最好使用特殊的ID。 並在每個id中定義爲javascript中的元素,並且您可以只寫id的名稱並使用它,如下所示: 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 

其中querySelectorquerySelectorAllvery useful functions,足以讓我避免使用jQuery:在現實生活中they accept any css selector

,使用相同的ID爲不同DOM elements經常發生。

+2

非常有用的把戲!謝謝 'var x = document.querySelector(「#parent」)。querySelector(「#child」);'' –

相關問題