我的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'
答案 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>