猿问

ajax怎么请求指定元素?

如何使用AJAX请求网页上指定元素?

我使用


$.get($(this).attr('href'), function (data) {

    var result = $(data).find('#content');

    console.log($(data));

    content.html(result);

});

这样的写法

获取到的data是这样的:


<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

<meta name=viewport content="width=devide-width,initial-scale=1.0,user-scalable=0">

<meta name="author" content="lcz970" />

<meta name="Copyright" content="Copyright lcz970 All Rights Reserved." />

</head>

<body>

<div id="content" class="content">

<div id="userbar" class="videotitle" style="background-color:#D04D74;font-size:16px;">

<form name="input" method="get">

<p class="userbarcontent">获取新视频:h<input type="tel" id="hid" name="hid" placeholder="C站投稿号(只填写“h”后面的数字)" oninput="value=decodeURIComponent(value).replace(/[^\d]/g,'')" style="width:220px;ime-mode:Disabled"> <input type="submit" value="解析" onclick="gohid();return false;"></p></form></div><br/>

<div style="padding-left:10px">在上面输入c站h号,或复制c站页面地址,然后点击“解析”。<br/><br/><p style="font-size:12px;color:#555;">不点击输入框也可以输入</p>

</div>

<input type="button" onclick="location.href='all.php';" style="margin-left:25px" value="看看缓存视频列表">

</div>

<div style="display:none"><script src="http://s95.cnzz.com/z_stat.php?id=1256854279&web_id=1256854279" language="JavaScript"></script></div>

</body>

</html>

在控制台输出的返回值$(data)中会包含 div#content.content,但实际是取不到的 输出 $(data).find('#content') 的结果是length为0

content变量是一个div元素


这边是$data

0

:

text

1

:

meta

2

:

text

3

:

meta

4

:

text

5

:

meta

6

:

text

7

:

meta

8

:

text

9

:

meta

10

:

text

11

:

meta

12

:

text

13

:

link

14

:

text

15

:

link

16

:

text

17

:

title

18

:

text

19

:

style

20

:

text

21

:

script

22

:

text

23

:

div#content.content

24

:

text

25

:

div

26

:

text

length

:

27

__proto__

:

Object(0)


肥皂起泡泡
浏览 633回答 3
3回答

吃鸡游戏

$.get($(this).attr('href'), function (data) {&nbsp; &nbsp; var html=$("<code></code>").append(data);&nbsp; &nbsp; var result = html.find('#content');&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; content.html(result);});

慕婉清6462132

得看返回的内容是不是完整的 HTML,有可能在&nbsp;$(data)&nbsp;的时候解析错误。看到返回的结果,我觉得应该是类似的问题,建议你把&nbsp;<body></body>&nbsp;以外的部分过滤掉试试。

aluckdog

我一比较喜欢这样处理const $data = $(data);let content = $data.filter("#content");if (!content.length) {&nbsp; &nbsp; content = $data.find("#content");}当然,如果确定 #content 是 data 的根级,直接用 $data.filter("#content") 就好。如果确定是子孙级,$data.find("#content") 就好。不确定的情况才需要上面那样。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答