gpt4 book ai didi

javascript - jQuery 的 JSF 组件选择器

转载 作者:行者123 更新时间:2023-12-03 07:38:17 26 4
gpt4 key购买 nike

我在 JSF 应用程序上使用 jQuery。我有一个单选按钮,单击它时会进行一些 Ajax 渲染,如果成功,我会尝试将其删除(为了简单起见)

我的 ajax 回调如下所示:

function ajaxOnSuccess(data) {
var getId = data.source.id;
$(getId).remove(); // This won't work
}

console.log($(getId))正在返回[prevObject: n.fn.init[1], context: document, selector: "coverage:j_idt483:0:j_idt487:0:printableNts:select-one-radio:0"] - 所以我认为它无法找到该元素?

如何选择单选按钮?

最佳答案

首先,$(getId).remove();是一个错误的jquery选择,它应该是:

$("#"+getId).remove();

但是你确定该元素的 id 确实存在吗?我问你这个是因为 JSF 向嵌套组件 id 添加了前缀。打开生成的页面的源代码并查找该 id,并检查它是否与您在 JQuery-Selector 中使用的完全相同。

另一个选项可以使用类选择器,例如:

$(".classNameOfThatElement").remove();

YourElementParent.find(".classNameOfThatElement).remove();

更新:

你在评论中说,你得到了

"Uncaught Error: Syntax error, unrecognized expression: unsupported pseudo: j_idt483"

生成的组件 id 内的冒号 (:) 会导致 JQuery byId 选择器出现这种情况。

现在试试这个:

$(document.getElementById(getId)).remove();

这应该有效。我测试过:)

关于javascript - jQuery 的 JSF 组件选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35517866/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com