2015-04-17 26 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。