jquery不会删除元素

时间:2013-11-15 10:51:46

标签: javascript jquery hyperlink

我有一个使用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()代替同样的问题。为什么?

4 个答案:

答案 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'的元素而不是所有锚元素。