使用JavaScript以图像alt为目标

使用JavaScript以图像alt为目标,javascript,jquery,Javascript,Jquery,我使用的是一个反应灵敏的幻灯片,只使用数字作为图像下方的导航。我需要用文本替换数字。我目前将文本作为图像alt,但在定位文本时遇到了大量问题。我对JS知之甚少,我猜这就是问题所在: 这是寻呼机代码: //pager if (settings.pager) { var tabMarkup = []; $slide.each(function (i) { var n = i + 1; var images = $("#slider2 li

我使用的是一个反应灵敏的幻灯片,只使用数字作为图像下方的导航。我需要用文本替换数字。我目前将文本作为图像alt,但在定位文本时遇到了大量问题。我对JS知之甚少,我猜这就是问题所在:

这是寻呼机代码:

 //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是图像的正确编号。显然,我需要取出位并用图像替换n。有什么建议吗

更新:

我正在使用插件,希望我能自己写这样的东西!。我尝试过添加以alt属性为目标的变量,但它们都没有定义。也许我放错地方了


最终更新:我修改了原始代码以显示更改。非常感谢

只需删除n并使用获得alt属性即可。您的.each循环中的$this引用当前项,使用它获取属性:

// ... $slides.eachfunction{ var n=$this.attr'alt'; // ... }; // ...
只需删除n并使用获得alt属性。您的.each循环中的$this引用当前项,使用它获取属性:

// ... $slides.eachfunction{ var n=$this.attr'alt'; // ... }; // ...
您有一个数组,但连接字符串


您有一个数组,但连接字符串


您的选择器可能是这样的:$'img[alt=Enable Your Brand]'

您的选择器可能是这样的:$'img[alt=Enable Your Brand]'

我猜$slide变量中有一些信息,但我不知道其中包含什么。你用哪个插件来制作幻灯片,或者是你自己制作的?你可以通过使用jquery通过$selector.attr'alt'来获取alt文本。我猜$slide变量中有一些信息,但我不知道它包含什么。您使用哪个插件来获取幻灯片,或者您自己构建了它?您可以通过执行$selector.attr'alt'通过jquery获取alt文本。这并没有回答他的问题。它至少现在尝试:啊哼。。。那你想要什么我修复了数组,现在从现有图像中获取alt属性-您希望更改什么?这并没有回答他的问题。它至少尝试现在更改:啊哼。。。那你想要什么我修复了数组,现在从现有图像中获取alt属性-您希望更改什么?我尝试了此操作,但返回未定义。我把它放在变量n的定义位置和tabmarkup之间。我尝试了这个方法,但它返回了未定义的。我把它放在定义变量n和tabmarkup之间。
  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(""));