2013-04-25 78 views
0

我有一個具有兩個自定義屬性的錨點。帶星號的那個稍後添加。如何找到錨標籤的自定義屬性的值?

的HTML代碼如下:

<ul class="dropdown"> 
     <li class="orange"><a href="#" data-jumpslide="2" **goto-page="newpage"**><div class="list-item one-liner"><div class="left"><span id="functionality-icon"></span></div> <div class="right">When to do it</div><div class="clear"></div></div></a></li> 
     <li class="orange"><a href="#" data-jumpslide="3" **goto-page="newpage"**><div class="list-item one-liner"><div class="left"><span id="functionality-icon"></span></div> <div class="right">Key faces</div><div class="clear"></div></div></a></li> 
     <li class="orange"><a href="#" data-jumpslide="5" **goto-page="newpage"**><div class="list-item one-liner"><div class="left"><span id="functionality-icon"></span></div> <div class="right">Functionalities</div><div class="clear"></div></div></a></li> 
</ul> 

我想這個新添加的自定義屬性的在下面的jQuery代碼值。由於某種原因,attr不起作用。

你有任何想法如何它可能工作:

$('a[data-jumpslide]').each(function(idx, ele){ 
    $(ele).on('click', function(){ 
     alert($(this).data("goto-page")); 
     var slideToJump = $(this).data('jumpslide'); 
     window.slider.go(false, slideToJump+1); 
    }); 
}); 

感謝。

+1

你甚至不使用ATTR隨時隨地代碼 – 2013-04-25 21:42:01

+0

像科裏說,你要麼必須實際使用:attr或改變屬性數據轉到頁和使用。數據( 'gotoPage')來訪問它。 – Andy 2013-04-25 21:43:59

回答

4

爲了這個工作你的HTML的屬性應與data-開始:

<ul class="dropdown"> 
     <li class="orange"><a href="#" data-jumpslide="2" data-goto-page="newpage"><div class="list-item one-liner"><div class="left"><span id="functionality-icon"></span></div> <div class="right">When to do it</div><div class="clear"></div></div></a></li> 
     <li class="orange"><a href="#" data-jumpslide="3" data-goto-page="newpage"><div class="list-item one-liner"><div class="left"><span id="functionality-icon"></span></div> <div class="right">Key faces</div><div class="clear"></div></div></a></li> 
     <li class="orange"><a href="#" data-jumpslide="5" data-goto-page="newpage"><div class="list-item one-liner"><div class="left"><span id="functionality-icon"></span></div> <div class="right">Functionalities</div><div class="clear"></div></div></a></li> 
</ul> 

那麼你的jQuery可以檢索值就好:

$('a[data-jumpslide]').each(function(idx, ele){ 
    $(ele).on('click', function(){ 
     alert($(this).data("goto-page")); 
     var slideToJump = $(this).data('jumpslide'); 
     window.slider.go(false, slideToJump+1); 
    }); 
}); 
+0

它不工作,它給了我一個警告「未定義」的消息...對不起。 – Steve 2013-04-25 21:55:20

+0

如果您使用slideToJump行切換警報線,您是否將值輸入slideToJump? – Kenneth 2013-04-25 21:57:13

+0

這工作完美。我對之前的評論不利。 – Steve 2013-04-25 22:01:02

1

如果你不想要的數據前綴,你可以這樣做:

http://jsbin.com/etebil/1/edit

$('a[data-jumpslide]').each(function(idx, ele){ 
    $(ele).on('click', function(){ 
     alert($(this).attr("goto-page")); 
     var slideToJump = $(this).data('jumpslide'); 
     window.slider.go(false, slideToJump+1); 
    }); 
}); 
0

使用.attr方法。

$('a[data-jumpslide]').each(function(idx, ele){ 
    $(ele).on('click', function(){ 
     alert($(this).attr("goto-page")); 
     var slideToJump = $(this).data('jumpslide'); 
     window.slider.go(false, slideToJump+1); 
    }); 
}); 

http://jsfiddle.net/

相關問題