我有一个使用Kendo(使用.NET V4)生成的表单,其中包含一堆嵌套div的标签。
我试图动态地隐藏一些输入字段/标签取决于选择的下拉列表中的形式。
我现在正在一个函数中选择要隐藏的元素。这个函数看起来像这样:
function toggleItemDisplayForDepositChgType(e) {
var elements = [
{ el: 'div.editor-label:has(label[for="includeInACH"])', show: false },
{ el: 'div.editor-field:has(#includeInACH)', show: false },
//...
];
var showArHoGLOverride = false;
if (e && e.model) {
showArHoGLOverride = e.model.chgTypeID == @((int)(EE.ChargeType.Deposit));
} else {
showArHoGLOverride = $('#chgTypeID').val() == @((int)(EE.ChargeType.Deposit));
}
$('#arGLOverride').data("kendoComboBox").enable(showArHoGLOverride);
$('#hoCreditGLOverride').data("kendoComboBox").enable(showArHoGLOverride);
elements.forEach(function (item) {
var el = document.querySelector(item.el);
if (showArHoGLOverride === item.show) {
el.style.display = "inline";
} else {
el.style.display = "none";
}
});
}
选择器在Chrome、Edge和Safari中似乎可以正确读取,但在Firefox中,我得到以下错误:
Document.querySelector:“div.editor-label:has(label[for=“includeInACH”])”不是有效的选择器
1条答案
按热度按时间uz75evzq1#
已结束更新查询选择器以使用jQuery:
到