从元素的最后一次出现中收集特定属性

Collect a specific attribute from the last appearance of an element

function refresh_images() {
    if (!document.images) return;
    const totalimages = document.querySelectorAll("img").length;
    const lastimages = document.getElementsByTagName('img')[totalimages].getAttribute('name').replace("grafico-betfair-", "");
}

我正在尝试收集名为 name="grafico-betfair-5" 的元素,但它 returns 出现错误提示:

Uncaught TypeError: Cannot read properties of undefined (reading 'getAttribute') at refresh_images

我应该在我的代码中更改什么才能检索值?

你可以使用最后一个index得到最后一张图片,你可以通过length减去1得到节点列表.

而且,作为 String.prototype.replace() 方法不会更改调用 String 对象。它returns一个新字符串,您需要使用新名称设置属性。

演示:

//get all the images
const totalImages =  document.querySelectorAll('img');
//get the last image
const lastImage = totalImages[totalImages.length - 1];
//get the new image name
const lastImageName = lastImage.getAttribute('name').replace("grafico-betfair-", "");
//set the new name
lastImage.setAttribute('name', lastImageName);
//print the last image
console.log(lastImage);
<img name="test1" src="/img1.jpg"/>

<img name="grafico-betfair-test" src="/img2.jpg"/>