骑士菌 发表于 2022-9-1 21:52:37

求助大佬,怎么新添加一个网站原有功能的按钮?

一直用别人的脚本,就想自己试试写一个减少下重复操作,昨天看了一天js入门视频,不得其所。今天搜到本论坛,看到了jQuery帖,在B站搜jQuery,歪打正着搜到了李恒道的视频,稍微微入下门,成功获取到了论坛楼层的评论,十分感谢。document.querySelector('#postmessage_936').innerText
昨天用getElementById在多层div就不好使。

接下来如何在每个楼层的回复按钮左边,增加一个一模一样功能的按钮,没搜到类似的也没法借鉴,感觉很复杂一点思路都没有。

`<a class="fastre" href="forum.php?mod=post&amp;action=reply&amp;fid=86&amp;tid=2862&amp;repquote=32412&amp;extra=page%3D1%26filter%3Dauthor%26orderby%3Ddateline&amp;page=3" onclick="showWindow('reply', this.href)">回复</a>`

外加点击按钮同时获取本楼层评论`<td class="t_f" id="postmessage_xxxxxx">`中的id的数字xxxxxx。

steven026 发表于 2022-9-1 21:52:38

本帖最后由 steven026 于 2022-9-1 22:43 编辑

```
//复制回复按钮
jQuery("a.fastre:contains('回复')").each(function () {
    jQuery(this).before(jQuery(this).clone())
})

//获取ID数字
jQuery(".t_f").each(function () {
    console.log(jQuery(this).attr("id").match(/\d+/))
})
```

jQuery已经过时了【虽然我觉得很好用🙁
教程和示例很难搜到了,给你2个代码参考吧
jQuery把选择器和方法吃透基本能应付绝大多数情形

李恒道 发表于 2022-9-1 21:59:56

继续往后学
使用document.querySelectorAll API批量获取然后插入对象
后续教程基本都大量用到的
小白所有问题指南里基本都覆盖了

骑士菌 发表于 2022-9-1 22:10:55

李恒道 发表于 2022-9-1 21:59
继续往后学
使用document.querySelectorAll API批量获取然后插入对象
后续教程基本都大量用到的


我先去看看文档,谢谢你的视频教程。

李恒道 发表于 2022-9-1 22:33:54

骑士菌 发表于 2022-9-1 22:10
我先去看看文档,谢谢你的视频教程。

https://bbs.tampermonkey.net.cn/thread-184-1-1.html
有基础的可以扫一遍开发指南文字版哦
视频版好久没更新了...
还在学剪辑{:4_98:}

骑士菌 发表于 2022-9-5 16:16:12

steven026 发表于 2022-9-1 21:52
```
//复制回复按钮
jQuery("a.fastre:contains('回复')").each(function () {


感谢指点。jQuery我还没去学,先用原生js练手。
花了快一周,复制按钮暂时放弃,目前歪打正着基本实现预想效果的5成,节省重复操作7成。
目前遇到问题:因为每个楼层都有相同按键,只有id数字不同,如何获取被点击的按钮的id?
<a href="xxxxxx" id="abc_114" onclick="456" >123</a>
<a href="xxxxxx" id="abc_121" onclick="456" >123</a>
<a href="xxxxxx" id="abc_151" onclick="456" >123</a>

steven026 发表于 2022-9-5 16:25:16

骑士菌 发表于 2022-9-5 16:16
感谢指点。jQuery我还没去学,先用原生js练手。
花了快一周,复制按钮暂时放弃,目前歪打正着基本实现预 ...

let IDs=[...document.querySelectorAll("a")].map(e=>e.id)
先用document.querySelectorAll获取NodeList集合,然后把这个集合解构为Array数组,用数组的map方法获取id,生成为数组

李恒道 发表于 2022-9-5 16:31:03

steven026 发表于 2022-9-5 16:25
先用document.querySelectorAll获取NodeList集合,然后把这个集合解构为Array数组,用数组的map方法获取 ...

抓到摸鱼了

steven026 发表于 2022-9-5 16:34:19

骑士菌 发表于 2022-9-5 16:16
感谢指点。jQuery我还没去学,先用原生js练手。
花了快一周,复制按钮暂时放弃,目前歪打正着基本实现预 ...

原生的复制按钮其实也很简单 以油中的复制发消息为例
document.querySelectorAll("a.kmfxx").forEach((e)=>{
    e.before(e.cloneNode(true))
})

骑士菌 发表于 2022-9-5 16:40:51

steven026 发表于 2022-9-5 16:25
先用document.querySelectorAll获取NodeList集合,然后把这个集合解构为Array数组,用数组的map方法获取 ...

没太懂,生成数组后如何从中筛选取得需要的那个(点击)。
页: [1] 2
查看完整版本: 求助大佬,怎么新添加一个网站原有功能的按钮?