繁体   English   中英

如何从JavaScript中包含HTML的字符串中提取background =值?

[英]How do I extract a background= value from a string containing HTML in JavaScript?

我有一个包含从另一个页面加载的HTML的字符串,如何使用Javascript从它的body标签中提取background属性?

字符串中的body标签如下所示:

<body onload='init();' background='storage/images/jsb_background.jpg' link='#000000' vlink='#000000' alink='#000000' leftmargin='0' topmargin='0' marginwidth='0' marginheight='0'>

谢谢!

我拼凑了一个正则表达式来执行此操作,它将在data字符串变量(包含HTML)中搜索body标签的background属性。 正则表达式从这里被盗,并做了一些修改。 我对regex还是很陌生,所以我想它可以更流畅地完成,但仍然可以完成工作

var data = /* your html */;
var regex = /body.*background=["']?((?:.(?!["']?\s+(?:\S+)=|[>"']))+.)["']?/;
var result = regex.exec(data);
if (result.length > 1) {
    var background = result[1];
    alert(background);
}
else {
    //no match
}

这是我的回答,因为我了解您的问题(给出的详细信息有限且没有代码示例)...

这也假设您的HTML字符串是有效的html ...

var html = yourString;
var background = "";

background = $(html).find("body").attr("background");

如果您实际上没有将HTML字符串附加到DOM,则可能没有一种简单易行的jQuery方式来做到这一点。 您可能需要手动解析出background属性。

var html       = yourString;
var charStart  = html.indexOf("<body");
var charEnd    = html.indexOf(">", charStart);
var bodyTag    = html.substring(charStart,charEnd+1);
charStart      = bodyTag.indexOf("background='")+12;
charEnd        = bodyTag.indexOf("'",charStart+13);
var background = bodyTag.substring(charStart,charEnd);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM