Javascript 通过HTML img标记删除字符串的一部分 我有一个包含HTML代码的字符串,中间有一个图像标签。 var html = '<p><p>agsagsa</p><img src="/Service/image.jsp?7D4D25E41ADA46ADE053480001826805">' + '<img src="/Service/image.jsp?7D4D25E41ADA96540MF3480001F04325">hfhfdhfdhfd</p>' + '<p>gfdhfdhfd</p>'; var html='

Javascript 通过HTML img标记删除字符串的一部分 我有一个包含HTML代码的字符串,中间有一个图像标签。 var html = '<p><p>agsagsa</p><img src="/Service/image.jsp?7D4D25E41ADA46ADE053480001826805">' + '<img src="/Service/image.jsp?7D4D25E41ADA96540MF3480001F04325">hfhfdhfdhfd</p>' + '<p>gfdhfdhfd</p>'; var html=',javascript,angularjs,Javascript,Angularjs,agsagsa'+ “hfdhfdhfd”+ “gfdhfdhfd”; 我需要通过src找到它,并从开头到结尾将其删除,以便从到结束标记 我需要找到正确的src,因为字符串中有多个src 我可以找到右src的索引,但无法找出如何通过最近的'将其从字符串中删除 “hfdhfdhfd”+ “gfdhfdhfd”; 函数findImg(imageSrc){ var src=html.indexOf(imageSrc); log('src=',src); } findImg('/Service/ima

agsagsa

'+ “hfdhfdhfd

”+ “gfdhfdhfd

”; 我需要通过src找到它,并从开头到结尾将其删除,以便从
到结束标记

我需要找到正确的src,因为字符串中有多个src

我可以找到右src的索引,但无法找出如何通过最近的
'将其从字符串中删除
“hfdhfdhfd

”+ “gfdhfdhfd

”; 函数findImg(imageSrc){ var src=html.indexOf(imageSrc); log('src=',src); } findImg('/Service/image.jsp?7D4D25E41ADA46ADE053480001826805')
使用创建一个临时元素以将html插入,并
angular.forEach()
循环查看图像以进行比较,然后
删除()
匹配项

var imgUrl='/Service/image.jsp?7D4D25E41ADA46ADE053480001826805'
var html='agsagsa

'+ “hfdhfdhfd

”+ “gfdhfdhfd

”; var div=angular.element(“”).append(html); 角度。forEach(div.find('img'),函数(el){ 如果(标高src.包括(imgUrl)){ el.删除() } }); html=div.html() console.log(html)

如果您只想在项目中使用直接的Javascript代码而不使用Angular,我有另一种选择。见下文

var-html=
“agsagsa

”+ “hfdhfdhfd

”+ “gfdhfdhfd

”; var originalSrc=“/Service/image.jsp?7D4D25E41ADA46ADE053480001826805”; 函数replaceImgTags(源){ var startOfSrcIndex=html.indexOf(源代码); log(“startOfSrcIndex=,startOfSrcIndex”); var srcLength=source.length; var openingTagIndex; 对于(var i=startofsrc索引-1;i>1;i--){ 如果(html[i]==“”){ closingTagIndex=i+1; console.log(“closingTagIndex=”,closingTagIndex); 打破 } } var image=html.substring(openingTagIndex,closingTagIndex); var finalHtml=html.replace(图像“”); 返回最终TML; } var newOriginalHtml=replaceImgTags(originalSrc); var newHtmlString=replaceImgTags(newOriginalHtml);
log(“新字符串为:”+newHtmlString)
将其转换为实际的DOM节点,并使用
.querySelectorAll()
.getElementsByTagName()
查找并删除图像这是一个非常好的答案,同时还使用了角度函数。谢谢。修改html字符串最好使用dom方法,因为
angular.element
是jQuery的精简版本,所以最好使用它来执行task@LazioTibijczyk请看下面我的答案,这样做就不用使用任何其他依赖项了。@LloydNicholson如果它不是一个angular应用程序,那么使用同样的方法也很简单使用
document.createElement()
和使用dom方法(如
querySelector()
@charlietfl)查询图像元素,我现在刚刚看到了angular标记,但问题从未在一个标记之外的任何地方指定angular,因此我假设需要基本的javascript。我使用提问者给出的代码帮助他解决问题。