Javascript html 5数据属性中是否允许使用尖括号?如果是,如何使用jQuery找到它?
我想知道是否允许在HTML5数据属性中存储尖括号。在我的示例中,我需要将电子邮件地址存储在此属性中。这看起来像:Javascript html 5数据属性中是否允许使用尖括号?如果是,如何使用jQuery找到它?,javascript,jquery,html,jquery-selectors,Javascript,Jquery,Html,Jquery Selectors,我想知道是否允许在HTML5数据属性中存储尖括号。在我的示例中,我需要将电子邮件地址存储在此属性中。这看起来像: <input class="email" data-email="Name <a@z.com>"> <input class="email" data-email="Name <b@z.com>"> 浏览器中没有问题,直到我尝试使用jQuery查找具有特定电子邮件地址的元素 $('.email[data-email="Name &
<input class="email" data-email="Name <a@z.com>">
<input class="email" data-email="Name <b@z.com>">
浏览器中没有问题,直到我尝试使用jQuery查找具有特定电子邮件地址的元素
$('.email[data-email="Name <a@z.com>"]')
$('.email[data email=“Name”]”)
这不管用。所以我问自己是否允许,如果允许,如何使用jQuery选择它。如果没有-是否有其他方法解决此问题?您需要这样做
$('.email[data-email*="a@z.com"]')
这里的
*
是一个通配符,表示选择属性包含a@z.com
如果未匹配字段的完整值,则不能使用=
运算符<代码>*=是子字符串比较:
$('.email[data email*=“”]).val(“这是一个a@z.com");代码>
我不知道jQuery有什么问题,但纯JS似乎可以工作:
document.querySelector('.email[data-email="Name <a@z.com>"]');
document.querySelector('.email[data email=“Name”]”);
我的错误。。。当然我需要一场完整的比赛。所以我编辑了我的问题。很抱歉工作正常:事实上,您对jQuery1.9.1的处理工作正常!我在我的本地机器上再次测试了它,但它不工作。所以我检查了我的jQuery版本,它是1.7.1。看看这个,它不起作用。所以我必须更新我的jQuery版本。是的,最简单的是使用最新的jQuery版本。我的问题是错的。所以我在这个答案之后编辑了它。很抱歉