在jQuery中,remove()方法并没有真正删除元素

时间:2015-08-18 09:40:42

标签: jquery dom remove-method

我有一个"语言切换器"在Drupal 7网站上。

<ul class="language-switcher-locale-url">
    <li class="en first">
        <a class="language-link" xml:lang="en" href="someURL">
            <img class="language-icon" width="26" height="19" title="English" alt="English" src="someURL">
        </a>
    </li>
    <li class="fr active">
        <a class="language-link active" xml:lang="fr" href="someURL">
            <img class="language-icon" width="26" height="19" title="Français" alt="Français" src="someURL">
        </a>
    </li>
    <li class="ru last">
        <a href="someURL" class="language-link" xml:lang="ru">
            <img class="language-icon" src="someURL" width="26" height="19" alt="Русский" title="Русский" />
        </a>
    </li>
</ul>

当某些特殊情况属实时,我想删除俄罗斯国旗。

<script>
jQuery(document).ready(function() {
    var ce;
    ce = jQuery("ul.language-switcher-locale-url > li.ru");
    ce.remove();
    ce = undefined;     
});
</script>

它似乎工作,因为标志被删除,Firebug在控制台中显示没有错误,并且w / Inspect Element我发现<li>已被删除。 但是,如果我去Page Source,它仍然存在。

这是否意味着jQuery不会从DOM中删除该元素?为什么它仍然在页面源? 我如何确定它已完全删除?

1 个答案:

答案 0 :(得分:2)

页面源显示最初从服务器下载的html,但是您已从使用inspect元素确认的DOM中删除它。