Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 包含布尔值的html5数据属性_Jquery_Asp.net Mvc_Visual Studio 2010_Html_Asp.net Mvc 4 - Fatal编程技术网

Jquery 包含布尔值的html5数据属性

Jquery 包含布尔值的html5数据属性,jquery,asp.net-mvc,visual-studio-2010,html,asp.net-mvc-4,Jquery,Asp.net Mvc,Visual Studio 2010,Html,Asp.net Mvc 4,在我们的开发环境中,我们使用HTML5数据属性来保存布尔值(我现在知道这不是正确的方法)。例如: <div id="x" data-mydata="True"></div> 这是完美的,同样适用于假值 然而,当我们将其推送到QA环境时,它停止了工作。尽管我们将该值设置为“True”,但jQuery选择器读取的值是“data mydata”(数据属性的名称) 如上所述,我们学习了处理布尔值的正确方法(如果值为false,则排除数据属性) 但是,我的问题是:为什么这在我们的

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

<div id="x" data-mydata="True"></div>
这是完美的,同样适用于假值

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

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

但是,我的问题是:为什么这在我们的开发环境中是单向工作的(错误的)?我们使用的是同一版本的jQuery,据我检查,DLL是同一版本的

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

谢谢


Griff

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

尝试将代码更改为:

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

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

你在开发和测试中使用了相同的浏览器吗?你们有没有尝试过var v=$('#x').data('mydata')?在所有测试中都使用了相同的浏览器,还尝试了JS脚本中访问数据属性值的所有不同变体只是为了澄清-相同的浏览器在同一台计算机上运行。我们使用IE8/9进行测试,Firefox和Chrome-所有浏览器的结果相同。我认为.attr()方法会起作用,但希望通过使用.data()方法实现一致性。尝试同时使用.data('name')和.data().name语法,但结果相同。@DrGriff我在旧浏览器中也遇到了.data()的问题。当这种情况发生时,我不得不使用.attr方法。我使用的是这些浏览器的最新版本。遗憾的是,我从来没有弄清这一点。我们纠正了我们的模式,继续前进。
 var v = $('#x').data("mydata");

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