9
回答
求关于javascript 内容替换的方法
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
求助: 将内容中的src替换成新的 用javascript
内容是:
<div>aaa<br/><img src="1.jpg" pid="0"/><img src="2.jpg" pid="1"/><img src="3.jpg" pid="2"/><img src="11.jpg"/><img src="121.jpg"/><img src="31.jpg"/>adsfads
adsf<img src="11.jpg"/>
</div>
我要将上面的内容中  有pid属性的src地址替换成新的
结果如下
<div>aaa<br/><img src="afafasdf1.jpg" pid="0"/><img src="2asfasdf.jpg" pid="1"/><img src="afdasf3.jpg" pid="2"/><img src="11.jpg"/><img src="121.jpg"/><img src="31.jpg"/>adsfads
adsf<img src="11.jpg"/>
</div>
当然这个src中的新地址可以随意
是由随机生成后添加的

请问这样的javascript 怎么写呀
举报
共有9个答案 最后回答: 5年前

可以使用jquery强大的选择器:

attributeHas selector

version added: 1.0jQuery('[attribute]')

  • attribute
    An attribute name.

Description: Selects elements that have the specified attribute, with any value.

Example:

Bind a single click that adds the div id to its text.

<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
  <div>no id</div>
  <div id="hey">with id</div>

  <div id="there">has an id</div>
  <div>nope</div>
<script>

    $('div[id]').one('click', function(){
      var idString = $(this).text() + ' = ' + $(this).attr('id');
      $(this).text(idString);
    });
</script>

</body>
</html>

<script>

function changeSrc(arr){

  var eles = document.all.tags("img");

  for(i in eles){

    eles[i].src = arr[i];

  }

}

var arr = new Array();

arr[0] = "1";

arr[1] = "2";

arr[2] = "3";

arr[3] = "4";

window.onload=function(){

changeSrc(arr);

}

</script>

<div>aaa<br/><img src="1.jpg" pid="0"/><img src="2.jpg" pid="1"/><img src="3.jpg" pid="2"/><img src="11.jpg"/><img src="121.jpg"/><img src="31.jpg"/>adsfads
adsf<img src="11.jpg"/>
</div>

var imgObj = document.getElementsByTagName("img");
for(var i = 0; i < imgObj.length; i++) {
if(imgObj[i].pid != "") {
imgObj[i].src = "随机的图片地址";
}
}
可以这么来用吧,随机的图片部分你可以自己来处理了

function replaceSRC() {

    var doc = document,

         imgs = doc.images,

         len = imgs.length;

    for(var i = 0; i < len; i++ ) {

         if(imgs[i].getAttribute("pid")){

              imgs[i].src = " http://www.baidu.com/img/baidu_jgylogo3.gif ";

        }

    }

} //这样会更快点儿.

顶部