首页 > 解决方案 > 如何根据属性或链接文本(带有 jquery 的 javscript)在网站上查找元素(链接)

问题描述

本质上,我试图找到这个元素:

<li><a data-value="320">320 kbps</a></li>

在一个网站上(不是我的网站,代码是由 chrome 扩展程序注入的),以便我可以点击它,但我还没有管理。

我试过这个:

$("li:contains('320 kbps')").click();

和这个:

$('a[data-value="320"]').click();

但两者都不起作用。我确信这很简单,但由于某种原因,我在网上找不到太多。谢谢你的帮助!

标签: javascriptjquery

解决方案


第一个应该是$("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>


推荐阅读