jQuery- attr/value 检索的不是数字值而是 NaN
jQuery- attr/value not retrieving a value as number but NaN
我正在尝试创建一个按钮,在单击时 returns 将值作为数字。然而它 returns NaN。谁能告诉我哪里出了问题?
<div class="card-body">
<button id="button-1" class="btn btn-primary number" value="1">
<h1>1</h1>
</button>
</div>
--------------------------------------------------------------------------------------------------
$(document).ready(function () {
var userBtnValue = ($(this).attr("value"));
userBtnValue = parseInt(userBtnValue);
console.log(userBtnValue);
});
$( document ).ready()
您只需要使用按钮 ID #button-1
来引用按钮,而不是在尝试获取 $(document).ready
中的按钮属性 value
时使用 this
直接地。由于 $(document).ready
中的 this
指的是 document
而不是 ID 为 #button-1
的按钮:
$(document).ready(function() {
var userBtnValue = $("#button-1").attr("value");
userBtnValue = parseInt(userBtnValue);
console.log(userBtnValue);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="card-body">
<button id="button-1" class="btn btn-primary number" value="1">
<h1>1</h1>
</button>
</div>
.click()
您的代码 $(this).attr("value")
只有在我们有该按钮的点击事件侦听器时才会起作用,因为在这种情况下 this
将始终引用点击按钮:
$(document).ready(function() {
// Bind an event handler to the "click" JavaScript event,
$("#button-1").click(function() {
var userBtnValue = $(this).attr("value");
userBtnValue = parseInt(userBtnValue);
console.log(userBtnValue);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="card-body">
<button id="button-1" class="btn btn-primary number" value="1">
<h1>1</h1>
</button>
</div>
你好像忘了给按钮写onclick函数
$(document).ready(function() {
$('body').on('click', '#button-1', function() {
var userBtnValue = ($(this).attr("value"));
userBtnValue = parseInt(userBtnValue);
console.log(userBtnValue);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<div class="card-body">
<button id="button-1" class="btn btn-primary number" value="1">
<h1>1</h1>
</button>
</div>
这将为您提供预期的结果。
我正在尝试创建一个按钮,在单击时 returns 将值作为数字。然而它 returns NaN。谁能告诉我哪里出了问题?
<div class="card-body">
<button id="button-1" class="btn btn-primary number" value="1">
<h1>1</h1>
</button>
</div>
--------------------------------------------------------------------------------------------------
$(document).ready(function () {
var userBtnValue = ($(this).attr("value"));
userBtnValue = parseInt(userBtnValue);
console.log(userBtnValue);
});
$( document ).ready()
您只需要使用按钮 ID #button-1
来引用按钮,而不是在尝试获取 $(document).ready
中的按钮属性 value
时使用 this
直接地。由于 $(document).ready
中的 this
指的是 document
而不是 ID 为 #button-1
的按钮:
$(document).ready(function() {
var userBtnValue = $("#button-1").attr("value");
userBtnValue = parseInt(userBtnValue);
console.log(userBtnValue);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="card-body">
<button id="button-1" class="btn btn-primary number" value="1">
<h1>1</h1>
</button>
</div>
.click()
您的代码 $(this).attr("value")
只有在我们有该按钮的点击事件侦听器时才会起作用,因为在这种情况下 this
将始终引用点击按钮:
$(document).ready(function() {
// Bind an event handler to the "click" JavaScript event,
$("#button-1").click(function() {
var userBtnValue = $(this).attr("value");
userBtnValue = parseInt(userBtnValue);
console.log(userBtnValue);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="card-body">
<button id="button-1" class="btn btn-primary number" value="1">
<h1>1</h1>
</button>
</div>
你好像忘了给按钮写onclick函数
$(document).ready(function() {
$('body').on('click', '#button-1', function() {
var userBtnValue = ($(this).attr("value"));
userBtnValue = parseInt(userBtnValue);
console.log(userBtnValue);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<div class="card-body">
<button id="button-1" class="btn btn-primary number" value="1">
<h1>1</h1>
</button>
</div>
这将为您提供预期的结果。