如何使用 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,值为 ,(此处缺少 =,因此无论如何它都是无效的),依此类推。