如何使用 javascript(无 JQuery)提取包含 json 字符串的数据属性
How to extract data attribute that contains a json string using javascript (no JQuery)
我下面有以下元素,它有一个包含 json 字符串的数据属性。我无法检索 json 字符串,而是返回 json 字符串的左括号。请看下面。
console.log(document.getElementById('elem').getAttribute('data-hashtags'));
<input id="elem" data-hashtags="["john","barclays-statements","hmrc","laptop","tesco","meat","dinner","drinks","food","cleaning-products","taxi","lunch"]">
你混淆了引号。
应该是这样的:
<input id="elem" data-hashtags="['john','barclays-statements','hmrc','laptop','tesco','meat','dinner','drinks','food','cleaning-products','taxi','lunch']">
不是这样的:
<input id="elem" data-hashtags="["john","barclays-statements","hmrc","laptop","tesco","meat","dinner","drinks","food","cleaning-products","taxi","lunch"]">
正如您在语法突出显示中看到的那样,属性标记为橙色(例如 data-hashtags
),属性值标记为蓝色(例如 elem
)。您的属性值也标记为橙色,这意味着它们本身被解释为属性。
那是因为 "
之后的值 "starts"。你的第二个"
,值"ends",所以值只是一个括号[
。据此,下一个属性将是 john
,值为 ,
(此处缺少 =
,因此无论如何它都是无效的),依此类推。
我下面有以下元素,它有一个包含 json 字符串的数据属性。我无法检索 json 字符串,而是返回 json 字符串的左括号。请看下面。
console.log(document.getElementById('elem').getAttribute('data-hashtags'));
<input id="elem" data-hashtags="["john","barclays-statements","hmrc","laptop","tesco","meat","dinner","drinks","food","cleaning-products","taxi","lunch"]">
你混淆了引号。
应该是这样的:
<input id="elem" data-hashtags="['john','barclays-statements','hmrc','laptop','tesco','meat','dinner','drinks','food','cleaning-products','taxi','lunch']">
不是这样的:
<input id="elem" data-hashtags="["john","barclays-statements","hmrc","laptop","tesco","meat","dinner","drinks","food","cleaning-products","taxi","lunch"]">
正如您在语法突出显示中看到的那样,属性标记为橙色(例如 data-hashtags
),属性值标记为蓝色(例如 elem
)。您的属性值也标记为橙色,这意味着它们本身被解释为属性。
那是因为 "
之后的值 "starts"。你的第二个"
,值"ends",所以值只是一个括号[
。据此,下一个属性将是 john
,值为 ,
(此处缺少 =
,因此无论如何它都是无效的),依此类推。