吾爱咖啡 发表于 2021-9-18 16:44

.parent is not a function怎么办?【JS、油猴】

本帖最后由 吾爱咖啡 于 2021-9-18 17:59 编辑

我又来了,还是油猴{:1_907:}。
...
// @require      https://cdn.staticfile.org/jquery/3.3.1/jquery.min.js
// ==/UserScript==

(function() {
    'use strict';
    // Your code here...
    var jl=$('.pro_free2up');
    console.log(jl.length);
    for(let i = 0;i < jl.length; i++){
      let al=jl.parent().innerHTML;
      console.log(al);
    }
})();
控制台输出:
9
ERROR: Execution of script '测试3' failed! jl.parent is not a function
这是怎么回事?我百度".parent is not a function"都只能搜到几篇英文的帖子,看不懂。
求大佬解惑。

已解决
JQ的解决方法在6楼和7楼,两种方法都可以。
用JS原生函数也可以解决。
但我更喜欢用jq,更方便简洁(不过好像并不简单:'(weeqw)。

黄hsir 发表于 2021-9-18 16:54

parentNode

or6522 发表于 2021-9-18 17:01

jl.parent() 是指调用parent这个方法,实际上你没有定义这个方法。
猜测你是想要拿到父节点?
可以使用jl.parentNode或者jl.parentElement 试试

吾爱咖啡 发表于 2021-9-18 17:18

黄hsir 发表于 2021-9-18 16:54
parentNode

感谢,我用js原生函数试了下,确实可以。
不过jq行不行呢?用jq的话要怎么写?

吾爱咖啡 发表于 2021-9-18 17:22

or6522 发表于 2021-9-18 17:01
jl.parent() 是指调用parent这个方法,实际上你没有定义这个方法。
猜测你是想要拿到父节点?
可以使用jl ...

不过我引用了jq了,不然一开始的“$”就过不去。
刚才试了下,js原生的可以用。
不过,jq行不行呢?

finillusion 发表于 2021-9-18 17:24

吾爱咖啡 发表于 2021-9-18 17:22
不过我引用了jq了,不然一开始的“$”就过不去。
刚才试了下,js原生的可以用。
不过,jq行不行呢?
你好
jquery的写法是这样的
$(jl).parent().html()

troybug 发表于 2021-9-18 17:31

jl.parent().innerHTML
楼主是想用原生js还是想用jquery?这么混合来用肯定执行不了。
可以改成
jl.eq(i).parent().html()//jq
或者
jl.parentNode?.innerHTML //原生

吾爱咖啡 发表于 2021-9-18 17:45

finillusion 发表于 2021-9-18 17:24
你好
jquery的写法是这样的

感谢!你的方法成了!
我是傻逼,这个方法我搜到过的,但那篇博客太短,只有几行,我又同时开了几个网页看,一下子忘了,没试。我真傻{:1_924:}。

吾爱咖啡 发表于 2021-9-18 17:50

troybug 发表于 2021-9-18 17:31
jl.parent().innerHTML
楼主是想用原生js还是想用jquery?这么混合来用肯定执行不了。
可以改成


感谢!
虽然混用不规范,但其实可以执行的,只是卡parent那了,按6楼的改为$(jl)就行了。
但混用确实容易出问题,我以后尽量不混用了。(但很难{:1_936:},我没有系统学习过js,只是想到什么功能就去找代码而已。)

finillusion 发表于 2021-9-18 17:59

吾爱咖啡 发表于 2021-9-18 17:45
感谢!你的方法成了!
我是傻逼,这个方法我搜到过的,但那篇博客太短,只有几行,我又同时开了几个网页 ...

不客气
新手学习都是有过程的
多用多看就知道了
推荐你还是选定一种为主要的去学习另外一种为辅助
尽量不要混用,后面用的写法多了混用也容易混淆
js和jquery都各有优缺点
js兼容性号
jquery学会的话写法就比较方便
你可以先去找一下jquery的文档大概看一下有那些写法有个印象
然后在多用多练习就好了
页: [1]
查看完整版本: .parent is not a function怎么办?【JS、油猴】