吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1841|回复: 9
收起左侧

[已解决] .parent is not a function怎么办?【JS、油猴】

[复制链接]
吾爱咖啡 发表于 2021-9-18 16:44
本帖最后由 吾爱咖啡 于 2021-9-18 17:59 编辑

我又来了,还是油猴
[JavaScript] 纯文本查看 复制代码
...
// @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[i].parent().innerHTML;
        console.log(al);
    }
})();

控制台输出:
[JavaScript] 纯文本查看 复制代码
9
ERROR: Execution of script '测试3' failed! jl[i].parent is not a function

这是怎么回事?我百度".parent is not a function"都只能搜到几篇英文的帖子,看不懂。
求大佬解惑。

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

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

黄hsir 发表于 2021-9-18 16:54
parentNode
or6522 发表于 2021-9-18 17:01
jl[i].parent() 是指调用parent这个方法,实际上你没有定义这个方法。
猜测你是想要拿到父节点?
可以使用jl[i].parentNode或者jl[i].parentElement 试试
 楼主| 吾爱咖啡 发表于 2021-9-18 17:18

感谢,我用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的写法是这样的
[JavaScript] 纯文本查看 复制代码
$(jl[i]).parent().html()
troybug 发表于 2021-9-18 17:31
jl[i].parent().innerHTML
楼主是想用原生js还是想用jquery?这么混合来用肯定执行不了。
可以改成
jl.eq(i).parent().html()  //jq
或者
jl[i].parentNode?.innerHTML //原生
 楼主| 吾爱咖啡 发表于 2021-9-18 17:45
finillusion 发表于 2021-9-18 17:24
你好
jquery的写法是这样的

感谢!你的方法成了!
我是傻逼,这个方法我搜到过的,但那篇博客太短,只有几行,我又同时开了几个网页看,一下子忘了,没试。我真傻
 楼主| 吾爱咖啡 发表于 2021-9-18 17:50
troybug 发表于 2021-9-18 17:31
jl.parent().innerHTML
楼主是想用原生js还是想用jquery?这么混合来用肯定执行不了。
可以改成

感谢!
虽然混用不规范,但其实可以执行的,只是卡parent那了,按6楼的改为$(jl)就行了。
但混用确实容易出问题,我以后尽量不混用了。(但很难,我没有系统学习过js,只是想到什么功能就去找代码而已。)
finillusion 发表于 2021-9-18 17:59
吾爱咖啡 发表于 2021-9-18 17:45
感谢!你的方法成了!
我是傻逼,这个方法我搜到过的,但那篇博客太短,只有几行,我又同时开了几个网页 ...

不客气
新手学习都是有过程的
多用多看就知道了
推荐你还是选定一种为主要的去学习另外一种为辅助
尽量不要混用,后面用的写法多了混用也容易混淆
js和jquery都各有优缺点
js兼容性号
jquery学会的话写法就比较方便
你可以先去找一下jquery的文档大概看一下有那些写法有个印象
然后在多用多练习就好了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-17 03:59

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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