我想用javascript regexp替换img src
。源html字符串可能没有规范化,我的意思是它可能是:
<img src="aa">
<img src="aa"/>
<img src="aa"></img>
< img SRC = " aa "></img >
如何使javascript正则表达式覆盖所有条件,并替换其src属性。
答案 0 :(得分:1)
使用jQuery?
$('img').attr('src', '/my/new/source/value');
答案 1 :(得分:1)
可以直接访问 img 元素的 src 属性的值:
alert(someImg.src);
该值是一个字符串,因此您可以使用字符串方法对其进行操作。周围的标记是无关紧要的,表示元素的innerHTML在不同的浏览器中可能不同,所以你不应该使用它。
如果要使用正则表达式来更改值,请直接对相关的DOM属性进行操作。
你没有说明你想对这个值做什么,但也许你想用其他的替换它的某些部分,然后给出标记:
<img id="img0" src="image-red.jpg">
您可以使用以下方法将其更改为“image-blue.jpg”:
var img = document.getElementById('img0');
img.src = img.src.replace(/-red/,'-blue');
但你也可以只分配新值:
img.src = 'image-blue.jpg';
答案 2 :(得分:0)
您可以制作不区分大小写的正则表达式,如下所示:Case insensitive regex in javascript
然后你必须考虑到任何地方都有空格:
<\s*img\s+src\s+=
然后你有一场比赛。但是你的问题没有具体说明你要替换的是什么。
答案 3 :(得分:0)
为什么不使用“element.src.match”?这是一个例子:
<script>
function changeImage()
{
element=document.getElementById('myimage')
if (element.src.match("bulbon"))
{
element.src="pic_bulboff.gif";
}
else
{
element.src="pic_bulbon.gif";
}
}
</script>
<img id="myimage" onclick="changeImage()"
src="pic_bulboff.gif" width="100" height="180">
<p>Click the light bulb to turn on/off the light</p>
整个示例位于:http://www.w3schools.com/js/tryit.asp?filename=tryjs_lightbulb