Javascript 如何隐藏没有';我没有身份证

Javascript 如何隐藏没有';我没有身份证,javascript,jquery,html,Javascript,Jquery,Html,我需要编写一段代码(我想到的是JavaScript/jQuery)来隐藏突出显示的两个div。问题是它们没有ID,它们属于类,但不是这些类中的唯一对象。所以我不能隐藏类,因为这样会隐藏更多我想要的东西。“父”div有一个ID 请在此处查找代码: 是否有任何方法可以通过订单号从父级引用要隐藏的div?任何其他解决方案都将不胜感激。因为我看到这些元素是id为#view的元素的子元素,所以您可以使用n-选择器,也可以使用jQuery:eq() 或使用CSS(推荐) 这里,第一个选择器,即类型(3)的

我需要编写一段代码(我想到的是JavaScript/jQuery)来隐藏突出显示的两个div。问题是它们没有ID,它们属于类,但不是这些类中的唯一对象。所以我不能隐藏类,因为这样会隐藏更多我想要的东西。“父”div有一个ID

请在此处查找代码:


是否有任何方法可以通过订单号从父级引用要隐藏的div?任何其他解决方案都将不胜感激。

因为我看到这些元素是id为
#view
的元素的子元素,所以您可以使用
n-
选择器,也可以使用jQuery
:eq()

或使用CSS(推荐)


这里,第一个选择器,即类型(3)的div:n>类型(2)的div:n选择第三个
div
元素,该元素是id为
#view
的元素的直接子元素,并进一步选择作为该类型的第二个子元素的直接
div
元素


第二个选择器,即
#view>div:nth类型(4)>div:nth类型(1)
选择第四个直接
div
子元素到id为
#view
的元素,进一步,它选择第一个直接子元素
div

,因为我看到这些元素是id为
#view
的元素的子元素,所以您可以使用
n-
选择器,也可以使用jQuery
:eq()

或使用CSS(推荐)


这里,第一个选择器,即类型(3)的div:n>类型(2)的div:n选择第三个
div
元素,该元素是id为
#view
的元素的直接子元素,并进一步选择作为该类型的第二个子元素的直接
div
元素


第二个选择器,即
#view>div:nth类型(4)>div:nth类型(1)
将第四个direct
div
子元素选择为id为
#view
的元素,并且,它还选择第一个direct子元素
div
,通过在查询中使用CSS伪选择器,您可以轻松做到这一点

$('#view').find('div.h1r1:nth-of-type(2)')
或者你可以更具体一点

.h111+.h1r1

通过在查询中使用CSS伪选择器,可以很容易地做到这一点

$('#view').find('div.h1r1:nth-of-type(2)')
或者你可以更具体一点

.h111+.h1r1

如果您确定它们的位置是固定的并且不会改变,那么您可以使用
nth child
选择器

大概是这样的:

$("#view").children("div:nth-child(3)").children("div:nth-child(2)").hide();
$("#view").children("div:nth-child(4)").children("div:nth-child(1)").hide();
或者,只是:

$("#view > div:nth-child(3) > div:nth-child(2)").hide();
$("#view > div:nth-child(4) > div:nth-child(1)").hide();
或者,使用
.eq

$("#view").children("div").eq(2).children("div").eq(1).hide();
$("#view").children("div").eq(3).children("div").eq(0).hide();

注意:
.eq
是以零为基础的

如果您确定它们的位置是固定的并且不会改变,那么您可以使用第n个子项选择器

大概是这样的:

$("#view").children("div:nth-child(3)").children("div:nth-child(2)").hide();
$("#view").children("div:nth-child(4)").children("div:nth-child(1)").hide();
或者,只是:

$("#view > div:nth-child(3) > div:nth-child(2)").hide();
$("#view > div:nth-child(4) > div:nth-child(1)").hide();
或者,使用
.eq

$("#view").children("div").eq(2).children("div").eq(1).hide();
$("#view").children("div").eq(3).children("div").eq(0).hide();
注意:
.eq
是以零为基础的

您可以使用Jquery选择器按索引进行搜索:

$( ".some:gt(0)" );
0-是第一个。一些

您可以使用Jquery选择器按索引搜索:

$( ".some:gt(0)" );

0-是第一个。如果没有其他具有相同类名的兄弟姐妹,则某些

对我有效

HTML


隐藏
Javascript

function hideDivs() {
    var parentDiv = document.getElementById('parent');
    var childDivs = parentDiv.getElementsByClassName('child');
    for (var i = 0; i < childDivs.length; i++) {
        childDivs[i].style.display = "none";
    };
}
函数hideDivs(){ var parentDiv=document.getElementById('parent'); var childDivs=parentDiv.getElementsByClassName('child'); for(变量i=0;i如果没有其他具有相同类名的兄弟姐妹,这对我来说很有效

HTML


隐藏
Javascript

function hideDivs() {
    var parentDiv = document.getElementById('parent');
    var childDivs = parentDiv.getElementsByClassName('child');
    for (var i = 0; i < childDivs.length; i++) {
        childDivs[i].style.display = "none";
    };
}
函数hideDivs(){ var parentDiv=document.getElementById('parent'); var childDivs=parentDiv.getElementsByClassName('child'); for(变量i=0;i您可以使用选择器选择特定索引处的元素

假设父div有一个id
parent
它有子
div的
sub

因此,如果要隐藏第二个子元素

$("#parent .sub:eq(1)").hide();
由于子排序以“0”索引开始,因此可以使用选择器选择特定索引处的元素

假设父div有一个id
parent
它有子
div的
sub

因此,如果要隐藏第二个子元素

$("#parent .sub:eq(1)").hide();

由于子排序以“0”索引开始,我不喜欢按位置(例如第3或第4个元素)编码,因为对标记进行相对较小的更改(例如仅为间距添加新的div)可能会破坏依赖于特定硬编码位置的代码

如果您想要在标记发生更改时不会中断的内容,而这些更改可能会更改项目的相对位置,那么您必须查找要隐藏的更具体的内容。根据您对内容的了解以及指示您拥有正确div的最佳标记,有许多不同的方法来实现这一点

有一种方法可以在要隐藏的内容中查找唯一标识符,然后转到适当的父级以隐藏该内容:

$("#RoleListTB").closet(".h1r1").hide();
$("#AccessProfileListTB").closest(".h111").hide();

我不喜欢按位置编码(例如,第3或第4个元素),因为对标记进行相对较小的更改(例如仅为间距添加一个新的div)可能会破坏依赖于特定硬编码位置的代码

如果您想要在标记发生更改时不会中断的内容,而这些更改可能会更改项目的相对位置,那么您必须查找要隐藏的更具体的内容。根据您对内容的了解以及指示您拥有正确div的最佳标记,有许多不同的方法来实现这一点

有一种方法可以在要隐藏的内容中查找唯一标识符,然后转到适当的父级以隐藏该内容:

$("#RoleListTB").closet(".h1r1").hide();
$("#AccessProfileListTB").closest(".h111").hide();

您可以使用表的ID来识别