错误javascript只获取第一个值data-href?

时间:2013-08-15 04:15:26

标签: javascript jquery facebook facebook-comments

我有一个示例代码:

<div id="fb-root"></div>
<div class="fb-comments" id="fb-comment" data-href="http://fb.com/t1" data-num-posts="3" data-width="590" ></div> 

<div class="fb-comments" id="fb-comment" data-href="http://fb.com/t2" data-num-posts="3" data-width="590" ></div> 

和javascript:

<script>
window.fbAsyncInit = function() {
    FB.init({
        appId : 'xxx', // App ID
        channelUrl : 'xxx', // Channel File
        status : true, // check login status
        cookie : true, // enable cookies to allow the server to access the session
        xfbml : true // parse XFBML
    });

    FB.Event.subscribe('comment.create', function(response) {
        var href = jQuery('.fb-comments').attr('data-href');
        alert(href);
    });
}
</script>

错误jquery只获取第一个值http://fb.com/t1,而不是获取http://fb.com/t2

2 个答案:

答案 0 :(得分:0)

DEMO

使用.each()遍历具有类fb-comments

的每个元素
var href='';
jQuery('.fb-comments').each(function () {
    href += $(this).attr('data-href') + ' ';
})

DEMO

或使用.map()

href采用以下代码

的数组形式
var href= jQuery('.fb-comments').map(function(){
    return jQuery(this).attr('data-href');
});
console.log(href);

答案 1 :(得分:0)

var thestring = '';

$('.fb-comments').each(function () {
    thestring += $(this).attr('data-href') + ' ';
});