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='
agsagsa'+ “hfdhfdhfd”+ “gfdhfdhfd”; 我需要通过src找到它,并从开头到结尾将其删除,以便从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
到结束标记
我需要找到正确的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。我使用提问者给出的代码帮助他解决问题。