我有一个问题,一些省略号被自动添加到一个链接的结尾,我拉到我的网站。我真的不知道javascript很好,并试图添加一些东西,以消除这一点!
下面是代码(带有一个假链接):
<div class="item-title-container">
<a title="Brewery Packaging Technology Course" href="https://www.link">Brewery Packaging Technology Course...</a>
</div>
以下是我尝试过的(3种不同的选择):
let srch = '...';
document.querySelectorAll('.item-title-container').forEach(el => {
if (el.innerText.indexOf(srch) > -1) el.innerText = el.innerText.split(srch).slice(0, -1).join(srch);
})
let element = document.querySelector('.item-title-container');
element.innerHTML.replace('...','');
var str = document.getElementsByClassName('item-title-container');
str = str.slice(0, -3);
我显然不擅长这个,但正在寻找解决方案!
2条答案
按热度按时间0yg35tkg1#
修复第二种方法
.innerHTML
允许您访问和设置div或其他HTML标记的内容。但是,您不能编辑
.innerHTML
的值,这可能听起来令人困惑,这里有一些示例。您不能使用相同的
.innerHTML
访问和设置内容,而这正是您通过键入element.innerHTML.replace('...','');
所尝试的。为了解决这个问题,
修复第三种方法
当使用
.innerHTML
访问内容时,它不会返回对内容的引用。这就是以下代码无法工作的原因:在上面的代码中,编辑
str
只会编辑str
。换句话说,str
不是对元素innerHTML
的引用。为了使代码工作,您已经将innerHTML
设置为str
。请尝试以下操作:
为了使上面的代码更容易阅读,请尝试以下操作:
cfh9epnr2#
它可能是一个省略号字符,而不是三个
.
字符。