这是一个奇怪的请求。我正在使用jQuery获取一些整页html内容的AJAX请求。一旦我在对象var中捕获了内容,我想获取捕获内容的body标记类并用它替换当前的DOM body类。
由于内容是在var中而没有加载到DOM中,因此jQuery对它没用。我能想到的最好的工具是Regex。
我在互联网上找了几个小时,一无所获。
这是我能提出的最佳代码,但它不起作用......
var data = '<html class="please_god_no" id="shit"><body id="id_no" class="test22">test2 class="test1" "test3"<div id="bad" class="test5 test6">test4</div> </body></html>';
var arr = data.match(/<body class=("[\w\d]*")\sid=("[\w\d]*")>([\w\d]*)</body>/);
alert(arr);
我只想要我不需要或想要任何其他属性的课程。如何找到答案的任何帮助都将是最有帮助的。
答案 0 :(得分:3)
嗯,这比我想象的要难,在处理body/html
元素时,事情变得棘手。一个人需要像这样处理一个创建的html
元素:
var s = '<html class="please_god_no"><body id="id_no" class="test22">test2 class="test1" "test3"<div id="bad" class="test5 test6">test4</div> </body></html>';
var htmlObject = document.createElement('html');
htmlObject.innerHTML = s;
var klass = htmlObject.querySelector("body").className;
document.querySelector('body').className = klass;
这非常耗时。可能有更好的方法来实现这一点,为什么不用你想要的类渲染body
?如果不这样做,为什么你不能只通过AJAX检索你想要的类?考虑在将来的版本中重构您的应用程序。