我有 6 个特定页面,其中包含大量以下 html 行:
<div class="ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth ">
我需要在所有这些特定页面上使用 jquery 删除第一个 css 元素,即“ms-webpart-chrome”。
“ms-webpart-chrome”的作用是它添加了一个我想从所有页面中删除的白色背景。
我怎样才能做到这一点?
这是 jQuery 的一个相当简单的用法。首先,您使用类选择器查找具有该类的元素,然后使用first
忽略除第一个之外的所有元素,然后对该元素执行某些操作。
问题中您实际上想要做的事情有点不清楚,但有两种可能的选择:
如果要实际删除元素,请使用remove
:
$(".ms-webpart-chrome").first().remove();
如果您只想从中删除该类,请使用removeClass
:
$(".ms-webpart-chrome").first().removeClass("ms-webpart-chrome");
根据我的经验,使用.first()
是最有效的选择,但这不太重要。第一个位(按类查找并获得第一个)也可以使用:first
选择器(或:eq(0)
)完成:
$(".ms-webpart-chrome:first").doSomething();
在这两种情况下,这可能会迫使 jQuery 使用自己的选择器引擎而不是内置的浏览器功能,这可能并不理想。但是,如果您只这样做一次,那么它只会在真正庞大的页面上起作用。
通过使用 jQuery :
$(function(){
$('.ms-webpart-chrome').each(function(){
$(this).removeClass('ms-webpart-chrome');
})
})
通过使用 CSS :
找到 CSS 文件并搜索“.ms-webpart-chrome”并删除整行。
如果每个页面都有一个 .pages 类,您可以使用 each 循环浏览每个页面并删除第一个带有 ms-webpart-chrome 类的元素
$('.pages').each(function(){
$(this).find('.ms-webpart-chrome:first').remove();
});