Javascript 获取不带大小写的数据属性值

Javascript 获取不带大小写的数据属性值,javascript,jquery,ajax,Javascript,Jquery,Ajax,是否可以在不通过camel case获取数据属性的情况下提取数据属性值 示例:以此按钮为例: <button id="my-button" type="button" data-some-url=<%=some_dynamic_path%>>Lookup</button> 相反,我更希望像这样获取数据属性值,但它当然不起作用: url = $(this).data("some-url"); 问:有没有办法通过保持连字符来获取数据属性值 更新: 我打了一个简

是否可以在不通过camel case获取数据属性的情况下提取数据属性值

示例:以此按钮为例:

<button id="my-button" type="button" data-some-url=<%=some_dynamic_path%>>Lookup</button>
相反,我更希望像这样获取数据属性值,但它当然不起作用:

url = $(this).data("some-url");
问:有没有办法通过保持连字符来获取数据属性值

更新:

我打了一个简单的错别字。第二个版本实际上是可行的:

url = $(this).data("some-url");

这将成功获取数据属性值。

您可以忽略它的数据语义,并将其视为任何其他属性:

url = $(this).attr( 'data-some-url' );

只需将名称作为字符串传递给数据方法

$('#my-button').data('some-url')

好吧,从技术上讲,这两个版本都不起作用,因为它们没有被引用,但如果你受不了骆驼,就用$this.attr'data-some-url'吧……你为什么认为第二个版本不起作用呢?啊!我只是打了个错字。第二个版本确实有效。如果这样做,您将无法从jQuery的数据处理中获益。jQuery不会将数据中的更改推回到DOM以节省资源。@ssc-hrep3对于如问题所述由框架添加的数据,这通常不是一个问题。@ssc-hrep3这是我忽略数据语义的部分意思。jQuery的数据不会返回到DOM元素这一事实有时是一个缺点,例如,对于使用CSS的条件格式来说。这并不会改变这样一个事实,即这是使用data方法获取数据属性的方式。但这并不是问题的答案,因为问题说这是他尝试过的。如果他尝试过,但没有得到正确的属性,则存在其他错误,此答案对上述问题是正确的,并且在提出问题时就是问题所在。$'el'.datasome url无效,将其包装为字符串是解决方案。
$('#my-button').data('some-url')