3

在我们的开发环境中,我们使用 HTML5 数据属性来保存布尔值(我现在知道这不是要走的路)。例如:

<div id="x" data-mydata="True"></div>

然后在我们的 JS 代码(使用 jQuery)中,我们成功地获取了布尔值:

var v = $('#x').data().mydata;
if(v == 'True') {...}

这非常有效——对于 False 值也是如此。

但是,当我们将其推送到我们的 QA 环境时,它停止工作。尽管我们将值设置为“True”,但 jQuery 选择器读取的值是“data-mydata”(数据属性的名称)。

如上所述,我们已经学习了处理布尔值的正确方法(如果值为 false,则排除数据属性)。

但是,我的问题是:为什么这在我们的开发环境中以一种方式(错误地)工作?我们使用的是相同版本的 jQuery,据我检查,dll 是相同的版本。

仅供参考 - 我们的开发环境目前是:VS2010,ASP.NET MVC4 .NET 4.0。

谢谢

格里夫

4

1 回答 1

0

我以前似乎.data没有这样使用过,但如果它在您的本地机器上工作,我会假设浏览器在 QA 环境中不一样,并且在获取值时遇到问题:

尝试将代码更改为:

 var v = $('#x').data("mydata");

 var v = $("#x").attr("data-mydata");
于 2013-02-15T08:48:19.480 回答