javascript - jQuery .val() 没有获得值(value)

标签 javascript jquery

let data = $(".language").attr('value');
let data2 = $('.language').val();
let data3 = $('.language').value;
let data4 = $(".language").attr('class');

$("button#test").click(function() {
  console.log(data);
  console.log(data2);
  console.log(data3)
  console.log(data4)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-group">
  <p class="label">Language</p>
  <input type="text" class="language" name="language" placeholder="">
</div> 
<div class="button-wrapper text-center">
  <button type="button" class="button next" id="test" >Go to step 2</button>
</div>

我正在使用 jQuery 处理这个简单的项目,当调用 val() 函数或调用 attr('value') 时,它会返回未定义的结果。但是当使用其他属性调用 attr() 函数时,它工作正常。

请问我该怎么办

最佳答案

要获得该值,您应该像这样在点击事件内部定义那些data变量:

 // outside here is the <input>'s initial value (empty)
console.log('I am the initial empty value: ' + $('.language').val());
$("button#test").click(function() {
    // inside here is the <input>'s value at the time the button is clicked (not empty)
    var data = $('.language').val();
    console.log('I am the current value: ' + data);
});
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-group">
   <p class="label">Language</p>
   <input type="text" class="language" name="language" placeholder="">
</div> 
<div class="button-wrapper text-center">
    <button type="button" class="button next" id="test" >Go to step 2</button>
</div>

关于javascript - jQuery .val() 没有获得值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46945388/

相关文章:

javascript - 如何使用 javascript 将 css 类分配给 svg 元素的标题?

javascript - Javascript 中是否可以每 10 分钟重复一次循环?

javascript - 在连续的 Ajax 函数中使用相同的变量

javascript - 禁用点击此

javascript - 由于 JQuery 脚本,页面的无尽 "loading"。如何解决?

javascript - 如何将多个d3.csv数据转换为数字?

Javascript正则表达式匹配字符串后跟数字?

javascript - 将 jquery 插件功能附加到动态创建的 DOM 元素

带有窗帘效果的jquery图像 slider

javascript - 如何在 JQuery 中设置当前 <li> 选项卡