我有一个使用jquery mobile的页面,我遇到了以下简单问题:
DOM中某处有(单个)链接的网页:
<a data-theme="a" data-role="button" href="https://m.mybet.com">
Smartphone-Version nutzen</a>
我在html中添加了一个这样的按钮
<input type="button" onclick="javascript:remove_link();"/>
我的javascript看起来像这样:
<script type="text/javascript">
function remove_link() {
console.log("1")
$("a").remove();
console.log("2")
}
</script>
但是,当点击按钮时,Chrome浏览器会告诉我:
Uncaught TypeError: Cannot call method 'remove' of null
remove_link
onclick
我也试过empty()代替同样的问题。为什么?
答案 0 :(得分:0)
我总是使用带有javascript的id,对我来说更容易。试试这个:
<a data-theme="a" id="id1" data-role="button" href="https://m.mybet.com">
Smartphone-Version nutzen</a>
<script type="text/javascript">
function remove_link() {
console.log("1")
$("#id1").remove();
console.log("2")
}
</script>
答案 1 :(得分:0)
好的,我发现了。我现在使用原生javascript:
document.querySelector( 'a' ).remove()
完成这项工作。
答案 2 :(得分:0)
试试这个:
<a data-theme="a" data-role="button" href="https://m.mybet.com">
Smartphone-Version nutzen</a>
<input id="remove_link" type="button" />
<script type="text/javascript">
$('#remove_link').click(function() {
console.log("1")
$("a").remove();
console.log("2")
});
</script>
答案 3 :(得分:0)
看起来你还没有加载jQuery。在调用您的函数之前,请确保包含<script src="path/to/jquery.js"></script>
。
在不加载jQuery的情况下,您的浏览器正在调用本机$
函数。
// native jQuery function
function $(id) {
return document.getElementById(id); // may return null
}
本机函数可能返回null
而不是空的jQuery对象。它也在搜索id,而不是css选择器。在您的情况下,id为'a'的元素而不是所有锚元素。