Javascript 从<;车身>;HTML字符串中的标记

Javascript 从<;车身>;HTML字符串中的标记,javascript,jquery,html,string,Javascript,Jquery,Html,String,我有一个像这样的HTML字符串 var html = "<html><head></head><body class='getMe'></body></html>"; 但这两种方法都返回未定义的。有什么帮助吗?是否尝试将其放入变量中?查找不带“”的标记 你试过把它放在一个变量里吗?查找不带“”的标记 试一试 var html=”“; var className=$(“”,{“html”:html}).find(“body

我有一个像这样的HTML字符串

var html = "<html><head></head><body class='getMe'></body></html>";

但这两种方法都返回未定义的。有什么帮助吗?

是否尝试将其放入变量中?查找不带“”的标记


你试过把它放在一个变量里吗?查找不带“”的标记

试一试

var html=”“;
var className=$(“”,{“html”:html}).find(“body”)[0].className;
log(类名)

试试看

var html=”“;
var className=$(“”,{“html”:html}).find(“body”)[0].className;
log(类名)

您不需要解析为html,而需要尝试RegExp:

var html = "<html><head></head><body class='getMe'></body></html>";
var clazz = html.match(/body\sclass=['|"]([^'|"]*)['|"]/)[1]; //getMe
编辑

要获取属于以
标题开头的body标记的类-

var html = "<html><head></head><body class='getMe header header-1 header-two test'></body></html>";
var headers = html.match(/body\sclass=['|"]([^'|"]*)['|"]/)[1].match(/(header\-\w+)/g);
//["header-1", "header-two"]
var html=”“;
var headers=html.match(/body\sclass=['|“]([^'|“]*)['|“]/)[1]。match(/(header\-\w+)/g);
//[“标题1”、“标题2”]

您不需要解析为html,而需要尝试RegExp:

var html = "<html><head></head><body class='getMe'></body></html>";
var clazz = html.match(/body\sclass=['|"]([^'|"]*)['|"]/)[1]; //getMe
编辑

要获取属于以
标题开头的body标记的类-

var html = "<html><head></head><body class='getMe header header-1 header-two test'></body></html>";
var headers = html.match(/body\sclass=['|"]([^'|"]*)['|"]/)[1].match(/(header\-\w+)/g);
//["header-1", "header-two"]
var html=”“;
var headers=html.match(/body\sclass=['|“]([^'|“]*)['|“]/)[1]。match(/(header\-\w+)/g);
//[“标题1”、“标题2”]

是将html强制为变量中的字符串还是由浏览器将其解析为html?问题在于
$(html)
返回的是空的jQuery对象。您只能使用它来解析可以合并到文档正文中的元素,它会忽略像
这样的元素。实际上,这取决于浏览器。它使用浏览器的内部
innerHTML
解析器。那么有解决方案吗?没有办法获取类吗?html是强制成为变量中的字符串还是被浏览器解析为html?问题是
$(html)
返回的是一个空的jQuery对象。您只能使用它来解析可以合并到文档正文中的元素,它会忽略像
这样的元素。实际上,这取决于浏览器。它使用浏览器的内部
innerHTML
解析器。那么有解决方案吗?没有获取类的方法吗?
$(body)
是当前文档的主体,而不是HTML字符串。确切地说。他想得到附加到的类名。但请告诉我,我的问题可能有误。但它不是文档的主体,而是字符串变量中随机HTML片段的主体。实际上,我不确定您的代码是否能正常工作。没有变量
body
。嗯,我可以在家里试试。在我测试之前有什么建议吗?
$(body)
是当前文档的正文,而不是HTML字符串。他想得到附加到的类名。但请告诉我,我的问题可能有误。但它不是文档的主体,而是字符串变量中随机HTML片段的主体。实际上,我不确定您的代码是否能正常工作。没有变量
body
。嗯,我可以在家里试试。在我测试之前有什么建议吗?这很有效,但是如果我想得到一个以“header-”开头的特定类,代码会得到body标记中的所有类。我只想要一个以“header-”开头的类。这很好,尽管如果我想要得到一个以“header-”开头的特定类,那么代码会得到body标记中的所有类。我只想要一个以“header-”开头的类。
var html = "<html><head></head><body class='getMe header header-1 header-two test'></body></html>";
var headers = html.match(/body\sclass=['|"]([^'|"]*)['|"]/)[1].match(/(header\-\w+)/g);
//["header-1", "header-two"]