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);

それで、

htmObj.find();

また

htmlObj.filter(); etc..

例えば:

htmlタグの内容を取得するには:

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

headタグの内容を取得するには:

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

bodyタグの内容を取得するには:

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

等々....

于 2012-04-19T08:13:21.917 に答える