2

哪种方法最好用于查找 html 文本字符串中的任何元素?使用 find 方法,您需要有一个包装元素才能实际找到该子元素。filter 似乎给了我 size() 0 的对象。任何其他可以从任何父标签(html、head、body)获取任何元素的方法?

<html>

<head>

<link rel="stylesheet" href="http://localhost/p1_page/style_sheets/p1.css" />

<script type="text/javascript" src="http://localhost/p1_page/scripts/s1.js" />

</head>

<body>

<div id="content_wrapper">

<table><tr><td></td><td></td></tr><tr><td></td><td></td></tr><tr><td></td><td>ala</td></tr><tr><td></td><td><span id="button_wrapper"><span id="button_on" ><input type="hidden" name="" value="1" /></span></span></td></tr><tr><td></td><td></td></tr></table></div>

</body>

</html>  

那是 html 响应(我不得不删除元素可读内容)。

Tryed $(response).find('body') returns object with size() 0;  
Tryed $(response).filter('body') returns object of size() 0;  
Tryed $('body', response) returns object of size() 0;  
But $(response) returns an object os size() 7; I don't get it
4

3 回答 3

2

你可以利用

var html = $(htmlString);

然后你拿:

var body = html.find("body");
于 2012-04-19T08:10:08.040 回答
1
$(function(){
    var htmlStr='<html><head><title>My Title X</title></head><body><div class="NewDiv">Data in the DIV in html string</div></body></html>';
    $htmlStr=$(htmlStr);
    console.log($htmlStr.find('title').text());//null
    console.log($htmlStr.closest('title').text());//My Title X
    console.log($htmlStr.find('div').hasClass('NewDiv'));//prints false
    console.log($htmlStr.closest('div').hasClass('NewDiv'));//prints true});

选择“head”以外的元素时,jquery最接近返回预期元素。

您可以尝试使用 Jquery 1.5+ 将内容解析为 XML

var xmlObj=$.parseXML(htmlStr);
    console.log($.parseXML(htmlStr).getElementsByTagName('head'));
于 2012-04-19T09:06:17.923 回答
0
var htmlObj = $(string);

Then,

htmObj.find();

OR

htmlObj.filter(); etc..

For example:

To get html tag contents:

htmlObj.find('html').something()..  
//Or
$('html', htmlObj).something()....

To get head tag contents:

htmlObj.find('head').something()..  
//Or
$('head', htmlObj).something()....

To get body tag contents:

htmlObj.find('body').something()..  
//Or
$('body', htmlObj).something()....

AND SO ON....

于 2012-04-19T08:13:21.917 回答