首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找到Anchor标记的自定义属性的值?

如何找到Anchor标记的自定义属性的值?
EN

Stack Overflow用户
提问于 2013-04-25 21:40:40
回答 4查看 9.4K关注 0票数 0

我有一个带有两个自定义属性的锚。后面会添加带有星号的那个。

HTML代码如下:

代码语言:javascript
复制
<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无法工作。

你知道它是如何工作的吗?

代码语言:javascript
复制
$('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);
    });
});

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-04-25 21:42:52

为了使其工作,您的HTML-属性应该从data-开始。

代码语言:javascript
复制
<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可以很好地检索值:

代码语言:javascript
复制
$('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);
    });
});
票数 5
EN

Stack Overflow用户

发布于 2013-04-25 21:44:10

如果不需要数据前缀,可以这样做:

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

代码语言:javascript
复制
$('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);
    });
});
票数 1
EN

Stack Overflow用户

发布于 2013-04-25 21:43:57

下面是一个JSFiddle,它显示了.attr值的警报:http://jsfiddle.net/Ndpfd/

看起来问题在于您使用的是ele而不是this

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16225204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档