gpt4 book ai didi

javascript - 在 jQuery 对象顶层查找

转载 作者:行者123 更新时间:2023-11-28 05:04:13 25 4
gpt4 key购买 nike

我正在尝试做的事情。我有一个在新选项卡中打开的表单。我想提交带有一些额外内容的表格:a) 删除“target=_blank”b) 为将来保留该形式完整

这里是示例表格:

<div id="cloneForm">
<form id="searchForm" method="post" target="_blank" action="#">
</form>
</div>

所以我想到的是:为了保持表单完整,我使用 jQuery 将表单克隆到变量中:

var searchForm = $('#searchForm').clone();
var cloneForm = $('#cloneForm').clone(); // This is just for workaround

但是在 $('#cloneForm') find('[target="_blank"]') 上工作的选择器不再工作。 (我想知道为什么?)。该选择器仅适用于“cloneForm”。

所以我可以做两件事:

  • 我可以通过以下方式访问目标属性:searchForm[0].target 设置为某物
  • cloneForm.find('[target="_blank"]').removeAttr('target')

但这两个我都不喜欢。我不喜欢添加额外的 div cloneForm。我也不喜欢通过数组访问目标。

有更好的建议吗?

最佳答案

表单是集合中的顶级对象,也是集合中唯一的顶级对象。只需使用 attr 即可:

cloneForm.attr("target", "new value");
// or
cloneForm.removeAttr("target");

如果它不是集合中唯一的对象,您可以使用 filter 来获取一个仅包含该对象的新集合:

cloneForm.filter('[target="_blank"]').attr("target", "new value");
// or
cloneForm.filter('[target="_blank"]').removeAttr("target");

...但是您的情况没有必要,因为您知道只有一个顶级元素。

关于javascript - 在 jQuery 对象顶层查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41875877/

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