我想从按钮的父元素中获取id
,并剪切文本。我的猜测是这样的:
HTML
<div id="test_4">
<button id="button">Get ID</button>
</div>
的JavaScript
$('#button').click(function() {
parentID = $(this).parent().attr('id');
newID = parseInt(parentID);
alert(newID);
});
但是输出NaN
。
这样做的正确方法是什么? fiddle
答案 0 :(得分:4)
有许多答案使用正则表达式,但我没有recommend it。您需要的是data-
属性。您已经使用jQuery,因此您可以使用.data()
方法访问id
。这是一个例子;
<强> HTML 强>
<div id="test_4" data-id="4">
<!-- ^^^^^^^^^^^^ this has to be added to use .data() -->
<button id="button">Get ID</button>
</div>
<强>的JavaScript 强>
$('#button').click(function() {
var newID = $(this).parent().data('id');
alert(newID);
});
答案 1 :(得分:3)
$('#button').click(function() {
parentID = $(this).parent().attr('id');
newID = +(parentID.match(/\d+/));
alert(newID);
});
答案 2 :(得分:1)
使用简单的正则表达式
$('#button').click(function () {
var parentID = $(this).parent().attr('id');
var newID = parentID.match(/\d+$/)[0];
alert(newID);
});
演示:Fiddle
答案 3 :(得分:0)
答案 4 :(得分:0)
试试这个:
$('#button').click(function() {
parentID = $(this).parent().attr('id');
newID = parseInt(parentID.split("_")[1]);
alert(newID);
});
答案 5 :(得分:-2)
$('#button').click(function() {
parentID = $(this).parent().attr("id");
newID = parentID;
alert(newID);
});
这将起作用