【问题标题】:Completly remove a tag from the source从源中完全删除标签
【发布时间】:2016-04-09 00:04:16
【问题描述】:

我想删除一个带有“.de”类的标签。

$('.de').remove(); 会将其从页面中删除,但是当我检查源代码时,我仍然可以看到该标签。

我的问题是,需要从表单中删除以下标签,否则它将被发送,这不是我想要的。

<input class="input_field_left de" name="friend_vorname[]" type="text" placeholder="Vorname">

或者也许有另一种方法不让这个字段被发送?!

【问题讨论】:

  • $('.de').remove(); 将删除所有匹配的元素,包括表单中的元素。那么如何在表单提交时将其发送到服务器?
  • 你到底打算做什么?您是否有一个包含多种语言的表单,但只想显示所选的一种?如果是,为什么不动态创建表单,而不是对表单进行硬编码并尝试删除冗余输入?

标签: javascript jquery html forms dom


【解决方案1】:

这就是“查看源代码”在浏览器中的工作方式。它向您显示来自服务器的内容(通常从服务器重新查询 [可能从缓存中读取]),不是当前在页面中的内容。

要查看页面中当前的内容,您需要使用浏览器开发工具中的“元素”或“DOM”选项卡(通常通过 F12 或 Ctrl+Shift+I 打开)。您通常可以通过右键单击页面上的元素并选择“检查元素”来打开它并移动到特定元素,因此如果您在运行 $('.de').remove(); 后对表单执行此操作,您将看到没有其中的.de 元素。

我的问题是,需要从表单中删除以下标签,否则它将被发送,这不是我想要的。

不,不会。您的$('.de').remove(); 将从页面中删除任何匹配的元素,如果随后提交表单,它们将不会与表单一起提交。

【讨论】:

  • 谢谢你,你说的完全正确!我只是在检查“查看源代码”。它实际上很好用!
【解决方案2】:

如果您想使用 jQuery 从源代码中删除标签,则不能尝试使用 jQuery 添加标签。(动态创建的标签或元素只能使用 jQuery 动态删除。)

【讨论】:

    猜你喜欢
    • 2018-07-05
    • 1970-01-01
    • 2014-09-25
    • 2011-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-11
    相关资源
    最近更新 更多