2015-04-17 32 views
1

嗨那里这是我的第一篇文章,请耐心等待。jquery替换每个链接attr为一组divs

我有一个大型的“响应式”页面,从一堆json数据通过php(我没有构建这个东西)以编程方式加载(最多10个)幻灯片。 我必须解决的问题是一组包含链接和图像的div。

我需要将链接的实际href更改为其他内容,因为源链接和我正在处理的实际页面具有不同的结构。

基本上我需要采取href和比较它。如果一件事改变了另一件事。

我在做什么的例子。

样品师想象产生这些汽车的10:

<div id="slidesdiv" class="validslider"> <a href="/something/somewhere"><img src="#" width="0px" />Firstlink</a></div> 
<div id="slidesdiv" class="validslider"> <a href="/somethingelse"><img src="#" width="0px" />SecondLink</a></div> 

示例代码

$(document).ready(function() { 
    $('div#slidesdiv a').each(function() { 
     if ($(this).attr('href') !== '/something/somewhere') { 
      $(this).attr('href', 'reallylongtring1'); 
     } else if ($(this).attr('href') !== '/somethingelse') { 
      $(this).attr('href', 'reallylongstring2'); 
     } 
    }); 
}); 

我已经遇到的问题是,它不是应用正确链接到正确的标签。这有点奇怪。任何帮助都是值得欢迎的,我希望我已经清楚地解释了这个问题。

我一直在做一个jsfiddle,我终于开始工作了,但是它给了我错误的回应。 This is a jsfiddle of that example.

+1

事实上,有多个div具有相同的'id'将不会导致麻烦。如果可能,请选择班级('validslider')。另外,你将根据'href'确实*不*等于 - 替代'/ something/somewhere'之外的任何其他*,您将用'reallylongstring1'替换'href'。 –

+0

根据类选择版本,并根据'href' *做什么*替换:https://jsfiddle.net/drped9pv/4/ –

+0

是的多个ID是一个问题,我会解决这个问题“生成代码”。同样比保罗。它似乎在小提琴上运作良好,我会测试它并回来...迄今为止,它似乎是对我的一个工作答案。谢谢。 – Ragevortex

回答

2

尝试选择器$('.validslider a') in .each。你不能有多个包含相同id的元素,请使用class。