从HTML表单中删除元素?

时间:2016-02-22 10:23:20

标签: javascript jquery html

我的HTML表单中有元素,我想在加载时删除它 这是

形式的元素
 <input type="hidden" name="testToken" value="1000ad"></input>

我尝试了什么

  $("input[name='testToken']").remove();

但是当我查看页面源时,我仍然在HTML中看到该元素。我在Firefox中调试它,这条线在控制台中成功执行而没有任何错误。

这里有什么问题?

更新: -

但如果我在下面这样做,那就有效。当我查看页面源时,我看不到元素。但我

 var testElement = document.getElementsByName('testToken');
 testElement[0].remove();

testElement[0].remove();在IE中引发错误Object doesn't support property or method 'remove'

2 个答案:

答案 0 :(得分:1)

js的变化并不稳固,但它是暂时的。

$("input[name='testToken']").remove();

这行代码删除了DOM元素,但如果您通过 Ctrl + U 查看src的页面来源,则可以看到这一点。

相反,你应该在服务器端进行。

使用PHP作为服务器端,您可以执行以下操作:

<?php if($somevar != "" || $somevar != null) { ?>
   <input type="hidden" name="testToken" value="1000ad"></input>
<?php } ?>

答案 1 :(得分:-1)

尝试删除带有name属性的元素,这可能会有所帮助

function removeInput(){
   $("[name=testToken]").remove();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<body>

  <input type="text" name="testToken" value="blabla" /><br/>
  <input type="button" onclick="removeInput()" value="remove" />
  
</body>