JQuery - 获取选择器中元素的数据属性值,而不是attr

时间:2017-02-10 12:01:24

标签: javascript jquery html5

我一直在寻找一种更短,更快的方式来进行jQuery选择,我想知道是否有更短的方法来选择给定元素的data属性的值。现在我有了这个

const phoneCode = $('#loginCountryCodeInput').attr('data-phone-code');

获取此数据属性的值

<input id="loginCountryCodeInput" data-phone-code="+1">

是否有更短的选择器,像这样?

const phoneCode = $('#loginCountryCodeInput[data-phone-code]');

4 个答案:

答案 0 :(得分:3)

使用data()方法获取自定义data-*属性值。

$('#loginCountryCodeInput').data('phone-code');

<小时/> 仅供参考:无法通过生成jQuery对象的选择器获取值。 这些方法之间存在一些差异:jQuery Data vs Attr?

答案 1 :(得分:1)

您可以拥有.data()功能

$("#controlid").data("phone-code");

答案 2 :(得分:0)

是的。它几乎就像你写的那个,但你需要使用$("#id-of-element[property='value']")。 例如:$("#loginCountryCodeInput[data-phone-code='+1']")

来源文档:https://api.jquery.com/attribute-equals-selector/

答案 3 :(得分:0)

试试这个。还有其他答案。为你选择最合适的套房。

document.querySelectorAll('[data-phone-code="+1"]');
$('a[data-phone-code=+1]');