从属性值中删除HTML



我需要从data-original-title中删除HTML<br>

HTML:

<abbr class="small text-c-muted" data-toggle="tooltip" title="" data-original-title="Cena bez DPH<br> 1&nbsp;652,89&nbsp;Kč">s DPH</abbr>

我需要删除<br>,因为我在content: attr(data-original-title);内引用的页面上使用CSS::after,但不幸的是,我正在接管它,包括我需要删除的给定<br>
我不能编辑源代码。我可以只用CSS和JS。

JavaScript:
如果我尝试插入JavaScript,这个符号不会获取页面并返回它在控制台错误:
未捕获类型错误:无法读取未定义的属性(正在读取"replace")。

$('abbr.small').text(function(_,txt) {return $(this).attr('data-original-title').replace('<br>','');}); 

知道如何删除<br>吗?

我尝试用JavaScript替换,但不工作。我需要删除<br>

解决方案:

$('abbr.small').attr('data-original-title', $(this).attr('data-original-title').replace('<br>','')); 

纯javascript解决方案:

let element = document.querySelector('abbr.small');
element.setAttribute('data-original-title', element.getAttribute('data-original-title').replaceAll('<br>', ''));

如果你有多个元素你应该使用querySelectorAll而不是querySelector并使用for循环或forEach循环

遍历项
let elements = document.querySelectorAll('abbr.small');
elements.forEach(element => {
element.setAttribute('data-original-title', element.getAttribute('data-original-title').replaceAll('<br>', ''));
})

最新更新