jquery如何绑定到其他的document对象
通过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.innerHTML)
});
的一系列操作,应该能够得到doc为新页面的dom,应该是document对象,那么如何像$("")对运行脚本的页面一样对请求的新页面使用jquery的筛选,我这里试过,返回的还是当前的元素 ```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.innerHTML)
}
})
```
可以看一下这篇https://bbs.tampermonkey.net.cn/forum.php?mod=redirect&goto=findpost&ptid=973&pid=29897 解析出来dom之后直接对doc变量进行操作就可以了 李恒道 发表于 2022-10-3 13:50
解析出来dom之后直接对doc变量进行操作就可以了
知道是对doc操作,但是想问下是只能使原生的方法操作还是,还是可以使用jquery的方法操作,如果使用jquery,$("选择器")感觉筛选的还是当前页面的元素,筛选不到新页面的元素,要怎么做才可以用jquery的语法筛选新页面的元素$(doc)("选择器")这语法也不太对 waitfortea 发表于 2022-10-3 14:11
知道是对doc操作,但是想问下是只能使原生的方法操作还是,还是可以使用jquery的方法操作,如果使用j ...
{:4_86:}用原生操作,jq跟parse出来的不在一个作用域 不知道行不行,我猜你肯定没试过
var a= $(doc).find("#data_list a") 这种写法最简单,但在一些较低版本的jquery下可能有兼容问题:
$('#data_list a', doc)
原生方法与jquery方法结合,兼容性较好:
$(doc.querySelectorAll('*')).filter('#data_list a')
直接用原生方法,再jquery包装一下(部分选择器不支持):
$(doc.querySelectorAll('#data_list a')) 脚本体验师001 发表于 2022-10-3 20:58
不知道行不行,我猜你肯定没试过
var a= $(doc).find("#data_list a")
感觉行,根据提供的原始 HTML 标记字符串,动态创建由 jQuery 对象包装的 DOM 元素
页:
[1]