上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

jquery如何绑定到其他的document对象

[复制链接]

该用户从未签到

3

主题

2

回帖

13

积分

助理工程师

积分
13
发表于 2022-10-3 07:38:14 | 显示全部楼层 | 阅读模式
悬赏2油猫币已解决

通过GM_xmlhttpRequest({
method: "GET",
url: "http://miobt.com/search.php?keyword=%E7%8C%8E%E6%88%B7%E4%B8%8D%E9%B8%BD&page=2",
onload: function(xhr) {
//这里写处理函数~~~~
let parser=new DOMParser()
var doc=parser.parseFromString(xhr.responseText,"text/html")
console.log(xhr.responseText)
$(doc).ready(function(){
var a= $("#data_list a")
console.log(a[1].innerHTML)

 });
 的一系列操作,应该能够得到doc为新页面的dom,应该是document对象,那么如何像$("")对运行脚本的页面一样对请求的新页面使用jquery的筛选,我这里试过,返回的还是当前的元素

最佳答案

查看完整内容

[md]```js GM_xmlhttpRequest({ method: "GET", url: "http://miobt.com/search.php?keyword=%E7%8C%8E%E6%88%B7%E4%B8%8D%E9%B8%BD&page=2", onload: function (xhr) { var a = $("#data_list a", xhr.response) console.log(a[1].innerHTML) } }) ``` 可以看一下这篇https://bbs.tampermonkey.net.cn/forum.php?mod=redirect&goto=findpost&ptid=973&pid=29897[/md]
  • TA的每日心情
    慵懒
    21 小时前
  • 签到天数: 603 天

    [LV.9]以坛为家II

    30

    主题

    523

    回帖

    1379

    积分

    荣誉开发者

    积分
    1379

    荣誉开发者新人进步奖油中2周年生态建设者新人报道挑战者 lv2油中3周年喜迎中秋

    发表于 2022-10-3 07:38:15 | 显示全部楼层
    GM_xmlhttpRequest({
        method: "GET",
        url: "http://miobt.com/search.php?keyword=%E7%8C%8E%E6%88%B7%E4%B8%8D%E9%B8%BD&page=2",
        onload: function (xhr) {
            var a = $("#data_list a", xhr.response)
            console.log(a[1].innerHTML)
        }
    })

    可以看一下这篇https://bbs.tampermonkey.net.cn/forum.php?mod=redirect&goto=findpost&ptid=973&pid=29897

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    620

    主题

    5085

    回帖

    5959

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    5959

    荣誉开发者管理员油中2周年生态建设者喜迎中秋

    发表于 2022-10-3 13:50:43 | 显示全部楼层
    解析出来dom之后直接对doc变量进行操作就可以了
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

    该用户从未签到

    3

    主题

    2

    回帖

    13

    积分

    助理工程师

    积分
    13
    发表于 2022-10-3 14:11:17 | 显示全部楼层

    李恒道 发表于 2022-10-3 13:50

    解析出来dom之后直接对doc变量进行操作就可以了

    知道是对doc操作,但是想问下是只能使原生的方法操作还是,还是可以使用jquery的方法操作,如果使用jquery,$("选择器")感觉筛选的还是当前页面的元素,筛选不到新页面的元素,要怎么做才可以用jquery的语法筛选新页面的元素$(doc)("选择器")这语法也不太对

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    620

    主题

    5085

    回帖

    5959

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    5959

    荣誉开发者管理员油中2周年生态建设者喜迎中秋

    发表于 2022-10-3 15:56:21 | 显示全部楼层
    waitfortea 发表于 2022-10-3 14:11
    [md]知道是对doc操作,但是想问下是只能使原生的方法操作还是,还是可以使用jquery的方法操作,如果使用j ...

    用原生操作,jq跟parse出来的不在一个作用域
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-3 00:00
  • 签到天数: 117 天

    [LV.6]常住居民II

    27

    主题

    588

    回帖

    521

    积分

    专家

    积分
    521

    油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2022-10-3 20:58:02 | 显示全部楼层
    不知道行不行,我猜你肯定没试过
    var a= $(doc).find("#data_list a")
    入驻爱发电 让这世界充满爱 https://afdian.net/a/vpannice
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    857

    回帖

    1356

    积分

    荣誉开发者

    积分
    1356

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2022-10-3 21:00:42 | 显示全部楼层
    这种写法最简单,但在一些较低版本的jquery下可能有兼容问题:
    1. $('#data_list a', doc)
    复制代码

    原生方法与jquery方法结合,兼容性较好:
    1. $(doc.querySelectorAll('*')).filter('#data_list a')
    复制代码

    直接用原生方法,再jquery包装一下(部分选择器不支持):
    1. $(doc.querySelectorAll('#data_list a'))
    复制代码
    回复

    使用道具 举报

  • TA的每日心情

    2022-11-22 08:37
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    2

    主题

    20

    回帖

    27

    积分

    助理工程师

    积分
    27
    发表于 2022-10-4 01:32:55 | 显示全部楼层
    脚本体验师001 发表于 2022-10-3 20:58
    不知道行不行,我猜你肯定没试过
    var a= $(doc).find("#data_list a")

    感觉行,根据提供的原始 HTML 标记字符串,动态创建由 jQuery 对象包装的 DOM 元素
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表