gpt4 book ai didi

javascript - jQuery - 无法使用计算出的键提取 .data() 属性

转载 作者:行者123 更新时间:2023-12-02 18:35:33 25 4
gpt4 key购买 nike

我正在使用这个 jQuery 代码:

$('#selection').bind("change", function(){
var selected = $(this).find('option:selected');
var datavar = selected.text().toLowerCase();
//alert(datavar);
//alert('looking for '+datavar+$('#test').data(datavar));
//alert($('#test').data('var1'))
});

http://jsfiddle.net/Zwe6h/

目的是使用#selection 元素选择您希望从#test 元素中提取的数据变量。它应该提醒您该数据变量的值是什么。

datavar 变量设置正确,alert(datavar); 打印出正确的值。但是,第二个测试警报(这是此测试的目的)将其显示为未定义。第三个测试警报只是进行测试,以确保您可以通过对变量进行硬编码来显式调用数据变量。

我不明白为什么它会返回未定义。我测试了 datavar 的类型,它确实是一个字符串,所以我希望它的行为就像硬编码一样。有人可以解释一下吗?

最佳答案

试试这个:

  alert('looking for  '+datavar + $('#test').data($.trim(datavar))); 

问题在于所选文本中的一些换行符(由 html 格式引起),因为它们不包含在选项开始和结束标记之间。所以你只需要 trim 它。

<强> Fiddle

或者修复您的选项,将文本包含在结束标记和结束标记之间。

<select name='selection' id='selection'>
<option value='1'>var1</option>
<option value='2'>var2</option>
</select>

<强> Fiddle2

关于javascript - jQuery - 无法使用计算出的键提取 .data() 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17356300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com