2012-11-14 85 views
1

我使用的是隻在圖像下方使用數字作爲導航的響應式幻燈片。我需要用文字替換數字。我現在有文字作爲圖像alt,但我有一堆針對文本的麻煩。我知道很少JS,我猜是問題:)使用JavaScript來定位圖像alt

這裏的尋呼機代碼:

//pager 
if (settings.pager) { 
     var tabMarkup = []; 
     $slide.each(function (i) { 
     var n = i + 1; 

     var images = $("#slider2 li img"); 

     tabMarkup += 
      "<li>" + 
      "<a href='#' class='" + slideClassPrefix + n + "'>" + images.eq(i).attr("alt") + "</a>" + 
      "</li>"; 
     }); 
     $pager.append(tabMarkup); 

     $tabs = $pager.find("a"); 

     // Inject pager 
     if (options.controls) { 
     $(settings.controls).append($pager); 
     } else { 
     $this.after($pager); 
     } 

     // Select pager item 
     selectTab = function (idx) { 
     $tabs 
      .closest("li") 
      .removeClass(activeClass) 
      .eq(idx) 
      .addClass(activeClass); 
     }; 
    } 

這裏是圖像:

<ul class="rslides" id="slider2"> 
    <li><img src="1.jpg" alt="Alt Sample" /></li> 
    <li><img src="2.jpg" alt="Unlock Your Potential" /></li> 
    <li><img src="3.jpg" alt="Enable Your Brand" /></li> 
    <li><img src="4.jpg" alt="Lean On Our Expertise" /></li> 
</ul> 

我說「位」到導航,所以我可以找到它:)ñ正在拉圖像的正確數量。顯然,我需要拿出「位」並用圖像替換「n」。有什麼建議麼?


更新:

我使用this插件(希望我能寫這樣的事情嘍!)。我已經嘗試添加目標爲alt屬性的變量,但它們都返回undefined。也許我把它放在錯誤的地方?


最終更新:我修改了原始代碼以顯示更改。非常感謝!

+0

我在''幻燈片'變量中有一些信息,但我不知道w它有什麼。你使用哪個插件來獲得幻燈片或者你自己創建了它? – Sean

+1

你可以通過執行'$(selector).attr('alt')' – Shmiddty

回答

2

你有一個數組,但連接字符串

DEMO

var tabMarkup = []; // an array 
    var images = $("#slider2 li img"); 
    $slide.each(function (i) { // assuming $slide is a collection 
    tabMarkup.push(
     "<li>" + 
     "<a href='#' class='" + slideClassPrefix + (i+1) + "'>" + 
     (i+1) +":" +images.eq(i).attr("alt") +"</a>" + 
     "</li>"); 
    }); 
    $pager.append(tabMarkup.join("")); 
+0

這並不回答他的問題。 – Shmiddty

+0

也許現在呢? – mplungjan

+0

至少現在嘗試。 :) – Shmiddty

2

只需刪除n並使用.attr(name)即可獲取alt屬性。在.each循環的$(this)是指當前的項目,用它來獲取屬性:

// ... 
$slides.each(function()() { 
    var n = $(this).attr('alt'); 

    // ... 
}); 
// ... 
+0

獲得'alt'文本。我試過這個,但是它返回undefined。我把它放在變量n被定義的地方和tabmarkup之間。 – cfox

0

你的選擇可能會是像這樣:$('img[alt="Enable Your Brand"]')