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



我在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中删除元素?为什么它还在页面源代码中?我怎样才能确定它已经完全切除了呢?

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

最新更新