Javascript 如何使用jquery获取div值?

Javascript 如何使用jquery获取div值?,javascript,jquery,html,Javascript,Jquery,Html,我试图在chrome控制台中使用jquery从以下位置获取div值: <div class="col-md-3"> <div class="vou-col" style="cursor: pointer"> <h4>Free Large Bucket</h4> <span class="sku-info">Voucher123</span> </div> </div> 自由

我试图在chrome控制台中使用jquery从以下位置获取div值:

<div class="col-md-3">
  <div class="vou-col" style="cursor: pointer">
    <h4>Free Large Bucket</h4>
    <span class="sku-info">Voucher123</span>
  </div>
</div>

自由大桶
凭证123
我得到以下错误:

$('.sku info').val()

VM783:1

未捕获的TypeError:$(…).val不是函数 时间:1:21

问题
.val()
用于获取输入元素的值,即用户在文本框中键入的内容。这是行不通的

但是,即使在HTML元素上调用它,它仍然应该被定义(尽管它仍然会返回
null
,所以您仍然会遇到问题)。
.val()
不是函数的唯一原因是,如果没有包含jQuery,请确保有一行

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

自由大桶
凭证123
对此,您可以使用
.text()/.html()
而不是
.val()
。。检查下面更新的代码段

console.log($('.sku info').html())

自由大桶
凭证123

问题

您的jQuery似乎是在无冲突模式下运行的—因此
$
是浏览器控制台的本机功能。如果使用与CMS(如WordPress或Drupal)捆绑在一起的jQuery版本,通常会出现这种情况

解决方案

您可以使用完整版本:

jQuery(".sku-value").text();
我们可以推断这种情况是因为错误是“.val(…)不是函数”-如果它是jQuery,那么.val将是函数

有用的调试提示

您可以通过查看是否有版本号来检查
$
是否为jQuery

console.log($.fn.jquery)
如果$是jQuery,那么它将记录一个版本号,类似于“2.1.1”。如果$jQuery不是jQuery,它将记录未定义的日志

包含jquery

var spanval=$('.sku info').html();
警报(spanval)

自由大桶
凭证123

应该这样做,因为此控件不是输入;)

$('.sku info').text()
由于span对象不包含值,而仅包含文本,我还使用了:$('.vend sku info span').text()/$('.vend sku info span').val(),但我得到了相同的错误。@carstelløvboAndersen我使用了它,但仍然得到了错误:VM1165:1未捕获类型错误:$(…).text不是函数:1:21是否包含jquery?@CarstenLøvboAndersen是的,我包含jquery的信息不足。查看错误
$(…)。val不是函数。那么,为什么
val
不是一个函数呢?即使您将它与
div
标记或
span
标记一起使用,它也应该是一个函数(尽管它应该返回null)@clone我能看到的唯一原因是OP不包括jQuery-起初没有注意到这一点。我已经更新了我的答案,包括这些信息,谢谢!
$(".sku-info").attr('value')