javascript - 如何根据属性或链接文本(带有 jquery 的 javscript)在网站上查找元素(链接)
问题描述
本质上,我试图找到这个元素:
<li><a data-value="320">320 kbps</a></li>
在一个网站上(不是我的网站,代码是由 chrome 扩展程序注入的),以便我可以点击它,但我还没有管理。
我试过这个:
$("li:contains('320 kbps')").click();
和这个:
$('a[data-value="320"]').click();
但两者都不起作用。我确信这很简单,但由于某种原因,我在网上找不到太多。谢谢你的帮助!
解决方案
第一个应该是$("li a:contains('320 kbps')")
,否则你会得到所有包含的列表项320 kbps
第二个应该按原样工作。例如:
let a = $('a[data-value="320"]');
let a = $('a[data-value="320"]');
console.log(a.html());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
<li><a data-value="320">320 kbps</a></li>
</ul>
然后例如添加一个clickhandler:
$('a[data-value="320"]').bind("click", function() {
console.log("clicked!");
});
$('a[data-value="320"]').click();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
<li><a data-value="320">320 kbps</a></li>
</ul>
推荐阅读
- javascript - 嵌套的 for 循环不会为每次迭代生成随机值
- azure-devops - Azure 管道 - 在多个存储库中指定分支名称
- javascript - extjs 网格行编辑删除
- spacy - spacy NER 无法识别某些数字文本
- laravel - 更改字段会更新 livewire @entangle 字段
- c# - 如何在 C# 控制台 .exe 文件中获取最后五分钟的日志
- python - 如何删除与熊猫中另一列中的值相关的列中的重复项?
- jsf - 如何有条件地检查 f:selectItem 并在 jsf 中禁用其他
- c# - 从 Windows Cmd 文件运行 CScript.exe 时在注册表项中获取无效的根目录
- laravel - Laravel Passport:目标 [Lcobucci\JWT\Parser] 在构建 [Laravel\Passport\PersonalAccessTokenFactory] 时不可实例化