Javascript 如何在jQuery代码中实现::ng deep的功能

Javascript 如何在jQuery代码中实现::ng deep的功能,javascript,jquery,angular,alfresco,Javascript,Jquery,Angular,Alfresco,我需要从按钮中删除“disabled”属性。我一直在尝试通过jQuery实现这一点,我知道具体要做什么($(.button).removAttr(“disabled”)),唯一的问题是这个按钮在层次结构中很深,我无法通过代码抓住它。在我的scss文件中,我可以通过执行以下操作来处理此元素: .parent ::ng-deep .child { margin-left: 1px; } 虽然当我在jQuery代码中尝试$(.parent::ng deep.child).removAttr(“d

我需要从按钮中删除“disabled”属性。我一直在尝试通过jQuery实现这一点,我知道具体要做什么(
$(.button).removAttr(“disabled”)
),唯一的问题是这个按钮在层次结构中很深,我无法通过代码抓住它。在我的scss文件中,我可以通过执行以下操作来处理此元素:

.parent ::ng-deep .child {
  margin-left: 1px;
}
虽然当我在jQuery代码中尝试
$(.parent::ng deep.child).removAttr(“disabled”)
时,我得到了一个语法错误,因为我认为jQuery中不允许使用::ng deep。有没有办法在jQuery代码中镜像::ng deep的功能

编辑:我正在使用Alfresco开发框架(ADF)。准确地说,这是adf查看器组件。html代码如下所示:

.parent ::ng-deep .child {
  margin-left: 1px;
}

我无法获取高亮显示的div(adf查看器容器),它是adf查看器元素的子元素。我从一个更高层次的家长开始,可以一直追踪到adf查看器。我瞄准的按钮位于突出显示的div的深处

在scss文件中,此操作有效:

.inner-layout .inner-layout__content adf-viewer ::ng-deep .adf-viewer-container {
     // do something
}
另外,由于此按钮是第三方组件的一部分,我无法操作HTML文件。我一直在使用开发人员工具来查看层次结构。我也读过关于shadowdom的内容,但是parent.shadowRoot为null。常规jQuery运算符“>”也不起作用


非常感谢您提供的任何帮助

您正在使用的第三方库是什么。你能把html标记也显示出来吗_Ogoo@Rutraaj-如果
html
嵌入到
shadowRoot
中,请使用
:主机(选择器)
,选择元素。请参阅-。@random,我需要在jQuery代码中执行此操作。我相信:主机(选择器)用于css?alfresco中是否提供了一个属性(如
[allowDownload]=“true”
)来执行此操作,因为设置启用/禁用按钮状态听起来像是基本的组件功能。我真的不喜欢使用jquery将功能破解到框架中,但我不知道100%确定框架不会这么做。您使用的第三方库是什么。你能把html标记也显示出来吗_Ogoo@Rutraaj-如果
html
嵌入到
shadowRoot
中,请使用
:主机(选择器)
,选择元素。请参阅-。@random,我需要在jQuery代码中执行此操作。我相信:主机(选择器)用于css?alfresco中是否提供了一个属性(如
[allowDownload]=“true”
)来执行此操作,因为设置启用/禁用按钮状态听起来像是基本的组件功能。我真的不喜欢使用jquery将功能破解到框架中,但我不知道100%的确定框架不会这么做。