Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取id发生变化的元素_Javascript_Html_Css - Fatal编程技术网

Javascript 如何获取id发生变化的元素

Javascript 如何获取id发生变化的元素,javascript,html,css,Javascript,Html,Css,我正在尝试制作一个脚本,我需要在网页上抓取一个元素。 我在chrome的帮助下检查页面并选择元素,复制该元素的css代码,结果是: <a id="4edd60cf-0462-4b8b-9b60-1d41911f3309" href="javascript:void(0);">Join now.</a> 问题是,当我清除所有缓存和cookie时,元素的id会改变 有没有其他方法可以抓住它 我曾尝试使用chrome的复制选择器功能,但它不起作用如果您没有要使用的属性,则可以

我正在尝试制作一个脚本,我需要在网页上抓取一个元素。 我在chrome的帮助下检查页面并选择元素,复制该元素的css代码,结果是:

<a id="4edd60cf-0462-4b8b-9b60-1d41911f3309" href="javascript:void(0);">Join now.</a>
问题是,当我清除所有缓存和cookie时,元素的id会改变

有没有其他方法可以抓住它


我曾尝试使用chrome的复制选择器功能,但它不起作用

如果您没有要使用的属性,则可以使用元素的文本

const link=[…document.querySelectorAll'a'].finde=>e.text==='Join now' iflink link.style.color='green'//对找到的链接执行一些操作。
如果您很乐意使用文本内容获取元素,那么可以使用xPath。下面是一个基本的JavaScript示例,带有一个按钮来演示

//要查找的元素的xPath var xpath=//a[containstext,'Join now']; var matchingElement=document.evaluatexpath,document,null,XPathResult.FIRST\u ORDERED\u NODE\u TYPE,null.singleNodeValue; //用于演示的按钮代码 document.getElementByIdtest.onclick=函数{ alertmatchingElement.id;};
获取ID我们需要上下文。您可以按元素进行选择,但我不希望这足够具体。您可能需要找到一个具有唯一类或ID的元素,然后向上或向下遍历该元素。例如,id=container的元素的子元素的元素行中的某些内容。该元素是否有父元素?您可以尝试查找具有更静态id的直接父级,并使用该id获取所需的最近的锚定标记