2016-12-08 28 views
0

我有以下的Javascript代碼表示HTML元素的字符串:獲取元件的ID,這是自舉酥料餅-ED

html = '<tr>' + 
'<td class="editMap" data-mode="option" data-wsid="'+row.option_id+ 
'" data-map="'+row.mapping_id+'" id="option-'+row.option_id+'">'+ 
'<span title="Options Mapping" data-toggle="popover" data-placement="left"style="cursor:pointer;">'+value+ 
'</span></td>'+'</tr>'; 

的HTML變量實際上是一個循環內。我也一樣,顯示特定div的細節酥料餅的代碼

$('[data-toggle="popover"]').popover({ 
    html: true, 
    container: body, 

    content: function() { 
    return $('#popover-content').html(); 
    } 
}); 

<div id="popover-content" class="row" style="display:none;"> 
    <input class="btn btn-xs btn-info" type="submit" value="Yes" style="display: inline-block; vertical-align: top;"/> 
    <input class="btn btn-xs btn-primary" type="submit" value="No" style="display: inline-block; vertical-align: top;"/> 
</div> 

我想要的是真正得到這是popovered元素的ID,它是由表示這種情況「選項 - 」 + row.option_id +'「。我已經嘗試了以下但它似乎不工作:

$('[data-toggle="popover"]').each(function() { 
    $(this).popover({ 
    html : true, 
    content: this.id, 
    console.log(this.id); 
    }); 
}); 

請幫我得到身份證。這可能是一個初級問題,但我是新來的Javascript

+1

嘗試'$(本).attr( '身份證')'' – prasanth

+0

是this'的參考'DOM element'其中'$(本) '是一個jQuery對象。 – RonyLoud

回答

1

您需要使用$(this)訪問當前元素,而不是僅使用this

$('[data-toggle="popover"]').each(function() { 
     //try doing console log out of popover. 
     console.log($(this).attr('id')); 
     $(this).popover({ 
         html : true, 
         content: $(this).attr('id') 
        }); 
}); 
0

$()是jQuery的構造函數。

this是對調用的DOM元素的引用。

$(this),你只是路過的this$()作爲參數,這樣你可以調用jQuery方法和功能。

所以,你的代碼如下:

$('[data-toggle="popover"]').each(function() { 
    $(this).popover({ 
     html : true, 
     content: $(this).attr('id'), 
     console.log(this.id); 
    }); 
});