【问题标题】:copy images anchor tag to images that have the same image SRC将图像锚标记复制到具有相同图像 SRC 的图像
【发布时间】:2014-09-05 22:34:37
【问题描述】:

我有一个列表项

<ul class="listWithAnchors">
  <li><a href="/link1"><img src="/path1.jpg" /></a></li>
  <li><a href="/link2"><img src="/path2.jpg" /></a></li>
  <li><a href="/link3"><img src="/path3.jpg" /></a></li>
<ul>

<ul class="listWithoutAnchors">
  <li><img src="/path2.jpg" /></li>
  <li><img src="/path1.jpg" /></li>
  <li><img src="/path3.jpg" /></li>
<ul>

我想使用 jQuery 将图像包装在具有匹配 src 路径的锚标记中。所以最终的结果应该是这样的:

<ul class="listWithoutAnchors">
  <li><a href="/link2"><img src="/path2.jpg" /></a></li>
  <li><a href="/link1"><img src="/path1.jpg" /></a></li>
  <li><a href="/link3"><img src="/path3.jpg" /></a></li>
<ul>

【问题讨论】:

    标签: jquery image tags anchor imagesource


    【解决方案1】:

    我在想这样的东西就是你要找的东西?

    首先,我们通过使用锚点遍历列表中的每个列表元素,将组合的锚点 URL 和图像 src 存储在一个数组中。然后我们循环遍历另一个列表,并将每个列表项的图像的 src 与我们的数组进行比较,如果匹配,我们将 URL 也存储在发生 src 匹配的那个对象中。

    $(document).ready(function(){
        var someArray = new array()
        $(".listWithAnchors li a").each(function(i){
            var link = $(this).attr('href');
            var src = $("a",this).attr('src');
            someArray.push({"l":link,"s":src});
        });
    
        $(".listWithoutAnchors li").each(function(i){
            var othersrc = $("img",this).attr('src');
            for(var j=0;j<someArray.length;j++){
                if(someArray[j]["s"] == othersrc){
                    $(this).html("<a href='"+someArray[j]["l"]+"'>"+$(this).html()+"</a>");
                }
            }
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2018-09-10
      • 1970-01-01
      • 1970-01-01
      • 2015-07-28
      • 1970-01-01
      • 2012-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多