繁体   English   中英

在字符串中按ID查找元素,然后替换href值

[英]Find element by ID within a String and then replace href value

我在下面有以下字符串(对于社交网络,还有其他多个字符串),并且我想搜索social-twittersocial-facebook等(仅ID定位)。 我听说Regex并不是解析字符串的最佳方法,但是我的目的是在字符串中搜索ID(它将始终是一个链接),然后将href替换为一个值。

<li><a id="social-twitter" href="#" target="_blank"><i class="fa fa-twitter" aria-hidden="true"></i></a></li>

现在我知道如何使用前端JavaScript定位来做到这一点,但是我正在使用的堆栈是Node / Express,显然我不能使用document.getElementById() -有什么想法吗? 抓着我的头。

根据您需要的解决方案的用途来决定,您的选择范围从基本的字符串搜索和替换,到更健壮的正则表达式,再到将字符串实际解析为HTML并使用JSDOM之类的库进行操作,都可以选择: https : //github.com / jsdom / jsdom

例如,如果您确定这些<a>标记的创建方式始终遵循类似的模式(即<a直接跟着id属性,然后直接跟着href属性),那么正则表达式就可以正常工作。 但是如果不确定这些条件,属性的顺序可以更改或其他属性可能介于两者之间,那么您可能必须选择更健壮却笨拙的JSDOM解决方案。 您将能够将任意HTML字符串加载到JSDOM中,使用document.getElementById定位元素,操纵其属性,然后检索其更新的outerHTML

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM