我们正在使用
HTML5的data- *属性来设置我们的一些客户端交互. jQuery使用这些来做它的事情.
抓住的是,HTML进入可能会有所不同.显然,这是应该被修复的问题,但我不总是控制正在生成的HTML,不幸的是.
问题:
给出这两个标签:
<a data-sampleAttributeName="example"> <a data-sampleattributename="example">
有一个聪明的方式来对待他们是一样的吗?
我想出的最好的是这样的:
var theAttribute = ($myobject).data('sampleAttributeName'); if (($myobject).data('sampleAttributeName')){ theAttribute = ($myobject).data('sampleAttributeName') } else { theAttribute = ($myobject).data('sampleattributename') }
我可以把它变成一个函数,我可以通过camelCase版本,并检查两者以及.我只是想知道在jQuery中是否有一个更清晰的内置功能来忽略数据(或attr)值的情况.
解决方法
对于这里给出的两个变体,你应该得到使用的值
.data('sampleattributename')
骆驼套(.data(‘sampleAttributeName’))用于当属性如下所示:
<a data-sample-attribute-name="something">Anchor</a>