Javascript 如何使用jquery获取div值?
我试图在chrome控制台中使用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> 自由
<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')