4

我只是想要一种快速/简单/简单的方法来检查特定元素(在本例中为 div)上的现有 ID。

似乎无法找到此代码示例..im 使用 jquery,但我认为我不需要在这个上做 jquery,只是基本的 getElement.. 但我需要隔离 div 块内的搜索.. 因为 id 确实存在于页面上的其他元素中,但我需要知道它是否存在于特定区域/div 中。

所以不仅仅是

document.getElementById(target_id);

我需要类似的东西:

divName.getElementById(target_id);

或者

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

或者

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

似乎找不到有用的东西。

4

5 回答 5

17

ID 应该是唯一的,并且页面中的任何两个元素都不应该具有相同的 id。您可以在具有特定 ID 的 div 中搜索具有某些类的某些元素。

$('#divId .someClass')

或使用find()

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

或使用上下文jQuery( selector [, context ] )

$('.someClass', $('#divId'))
于 2013-04-02T05:56:36.423 回答
11
    var mySubDiv = myParentDiv.querySelector("#mySubDivId")

相当于

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

wherequerySelectorquerySelectorAll非常有用的功能,足以让我避免使用jQuery他们接受任何css selector

在现实生活中,DOM elements经常会发生使用相同的 ID 不同的情况。

于 2015-10-24T18:14:43.417 回答
2

id应该是唯一的,您可以使用以下方法检查元素:

$(".your_parent_div").find("div#some_unique_id");
于 2013-04-02T05:58:03.970 回答
0

您可以将它用于 getElementsByTagName 或 ClassName,但 ID 在文档中是唯一的。所以不需要这样做。最好使用特殊的ID。并且在每个 id 中定义为 javascript 中的一个元素,您可以只写 id 的名称并使用它,如下所示: ID.style.color = red;

于 2015-05-24T19:14:22.883 回答
-3

根据我对您的问题的理解,您在执行时使用了两个同名的 id,它只需要第一个 ID,所以您要求从特定的 div 中获取 id,那么使用两个 id 相同的编码类型是不好的如果想使用相同的名称,请改为使用名称。您的问题的解决方案是 -this ->

    var someDiv = document.getElementsByClassName("divName");
    var someId = someDiv[0].getElementById("target_id");
于 2018-11-13T11:05:19.627 回答