相关疑难解决方法(0)

使用jQuery的数据属性

我有这个按钮:

<button type="button" class="themeChanger" data-themeValue="grid" value="Grid">
   <img src="templateImages/Icon_200.png" />                
</button>
Run Code Online (Sandbox Code Playgroud)

而这个jQuery:

$(".themeChanger").click(function () { 
    alert($(this).attr("data-themeValue")); 
    alert($(this).data("themeValue")); 
});
Run Code Online (Sandbox Code Playgroud)

由于某种原因,第一个警报显示"网格"应该像它应该,但第二个警告显示未定义.有什么东西让我感到愚蠢吗?

jquery

19
推荐指数
3
解决办法
2万
查看次数

让jQuery忽略属性/数据名称中的大小写?

我们在data-*一些客户端交互设置中使用HTML5的属性.jQuery使用它们来做它的事情.

问题是进入的HTML可能会有所不同.显然,这是应该修复的问题,但不幸的是,我并不总是控制正在生成的HTML.

问题:

鉴于这两个标签:

<a data-sampleAttributeName="example">

<a data-sampleattributename="example">
Run Code Online (Sandbox Code Playgroud)

是否有一种聪明的方式将它们视为同一个?

我提出的最好的是这样的:

var theAttribute = ($myobject).data('sampleAttributeName');

if (($myobject).data('sampleAttributeName')){
    theAttribute = ($myobject).data('sampleAttributeName')
} else {
    theAttribute = ($myobject).data('sampleattributename')
}
Run Code Online (Sandbox Code Playgroud)

我可以把它变成一个函数,我可以将camelCase版本传递给并检查两者.我只是想知道jQuery中是否有一个更清晰的内置功能来忽略data(或attr)值的情况.

jquery camelcasing case-sensitive

13
推荐指数
1
解决办法
4573
查看次数

标签 统计

jquery ×2

camelcasing ×1

case-sensitive ×1