使用 javascript 删除所有 html 标签中的背景样式
Remove background style in all html tags using javascript
如何删除所有 HTML 标签中的所有 background="..."
?我知道尝试用正则表达式解析 HTML 不是一个好主意,但我不知道有什么办法。 (试过正则表达式 "background([\s\S]*?)(;|\")"
- 不起作用)。
谢谢
对于 jQuery,您可以为此使用一个简单的选择器:
$("*").css('background', 'transparent');
背景属性而不是样式:
$("*").removeAttr('background');
没有 jQuery 需要做更多的工作:
var elements = document.getElementsByTagName("*");
for (var i = 0, i < elements.length; i++) {
elements[i].style.background = "transparent";
}
原始背景属性:
var elements = document.getElementsByTagName("*");
for (var i = 0, i < elements.length; i++) {
if (elements[i].hasAttribute("background")) {
elements[i].removeAttribute("background");
}
}
$(document).ready(function(){
$('*').removeAttr('background');
});
<!DOCTYPE html>
<html>
<body background="https://www.google.co.in/images/srpr/logo11w.png">
<h1>Hello world!</h1>
<p>The background attribute is not supported HTML5. Use CSS instead.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</body>
</html>
您可以使用 jquery 删除所有背景 属性 例如,
$('*').removeAttr("background");
通过简单的脚本你可以使用这段代码,
<script>
var allElements = document.childNodes;
for (var i = 0; i < allElements.length; i++)
{
var currElement = allElements[i];
if (currElement.hasAttribute("background"))
{
currElement.removeAttribute("background");
}
}
</script>
and to solve your mentioned issue,
use this,
use this to solve this issue,
`<script>
function removeBackground(cElement) {
var allElements = cElement.childNodes;
if (allElements.length > 0) {
for (var i = 0; i < allElements.length; i++) {
var currElement = allElements[i];
if (currElement.childNodes.length > 0) {
removeBackground(currElement);
}
if (currElement.hasAttribute("background")) {
currElement.removeAttribute("background");
}
}
}
}
removeBackground(document);
</script>`
您可以添加自定义 sheet 来覆盖背景 属性
像这样
var style = document.createElement('style');
document.head.appendChild(style);
// Depend on browser implementation
if (style.sheet.insertRule) {
style.sheet.insertRule("* { background:none !important }", 0);
}
else if (style.sheet.addRule) {
style.sheet.addRule("*","background:none !important", 0);
}
如何删除所有 HTML 标签中的所有 background="..."
?我知道尝试用正则表达式解析 HTML 不是一个好主意,但我不知道有什么办法。 (试过正则表达式 "background([\s\S]*?)(;|\")"
- 不起作用)。
谢谢
对于 jQuery,您可以为此使用一个简单的选择器:
$("*").css('background', 'transparent');
背景属性而不是样式:
$("*").removeAttr('background');
没有 jQuery 需要做更多的工作:
var elements = document.getElementsByTagName("*");
for (var i = 0, i < elements.length; i++) {
elements[i].style.background = "transparent";
}
原始背景属性:
var elements = document.getElementsByTagName("*");
for (var i = 0, i < elements.length; i++) {
if (elements[i].hasAttribute("background")) {
elements[i].removeAttribute("background");
}
}
$(document).ready(function(){
$('*').removeAttr('background');
});
<!DOCTYPE html>
<html>
<body background="https://www.google.co.in/images/srpr/logo11w.png">
<h1>Hello world!</h1>
<p>The background attribute is not supported HTML5. Use CSS instead.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</body>
</html>
您可以使用 jquery 删除所有背景 属性 例如,
$('*').removeAttr("background");
通过简单的脚本你可以使用这段代码,
<script>
var allElements = document.childNodes;
for (var i = 0; i < allElements.length; i++)
{
var currElement = allElements[i];
if (currElement.hasAttribute("background"))
{
currElement.removeAttribute("background");
}
}
</script>
and to solve your mentioned issue,
use this,
use this to solve this issue,
`<script>
function removeBackground(cElement) {
var allElements = cElement.childNodes;
if (allElements.length > 0) {
for (var i = 0; i < allElements.length; i++) {
var currElement = allElements[i];
if (currElement.childNodes.length > 0) {
removeBackground(currElement);
}
if (currElement.hasAttribute("background")) {
currElement.removeAttribute("background");
}
}
}
}
removeBackground(document);
</script>`
您可以添加自定义 sheet 来覆盖背景 属性 像这样
var style = document.createElement('style');
document.head.appendChild(style);
// Depend on browser implementation
if (style.sheet.insertRule) {
style.sheet.insertRule("* { background:none !important }", 0);
}
else if (style.sheet.addRule) {
style.sheet.addRule("*","background:none !important", 0);
}