上一篇文章说了一下,PHP利用正规表达式来获取htnl内容中的所有图片,并获取其中的各个属性。但是在很多的地方还是利JQ来改变DOM节点可以达到这样的目的。今天就遇到了一个,图片灯箱的插件,需要改变图片的属性来实现效果,当然在我们编辑文章的时候,是不可能每次都要改变图片的属性的,尤其对小白来说。

比如我用到的插件,需要向在文章中的图片元素中加入“data-source”属性,并赋予其图片的地址。如果我们在编辑文章直接给图片这样的属性,是很好的解决问题,但如果让一个不懂代码的小白去编辑文章呢?

利用JQuery来获取HTML中的所有图片以及图片属性

实现要要求:

1、向文章中所有的图片加入“data-source”属性,并赋予其图片地址

2、加入其他属性,比如"class"其值为“js-lightbox”

3、用JQuery代码实现

HTML代码

<div id="mochu">
    <p>内容。。。。<./p>
    <p><img src="xxxx.png"/></p>
    <p><img src="xxxx1.png"/></p>
    <p><img src="xxxx2.png"/></p>
    <p>内容</p>
</div>

JQuesy代码

$("#mochu img").each(function(){
    var url = $(this).attr("src");
    $(this).attr("data-source",url);
    $(this).attr("class","js-lightbox");
});

代码解释:

1、先确定要修改图片元素的位,也就是哪个元素下的所有图片

2、.each()方法规定为每个匹配元素规定运行的函数,也就是循环

3、获取每个图片的地址,并赋值给新插入的属性data-source

4、插入新属性class 并赋值js-lightbox

5、完成,收工.......

代码在本地测试无问题,如果你使用此代码不运行或运行出错,那个你第一个要检查一下,是否引入了JQuery这个文件,第二检查一下元素的ID或是clsaa属性值是否匹配。

今天,写到这样,如果你感觉此代码不错,就点个赞吧!打赏一下也可以(捂脸笑)