Javascript JSON.parse无法将其转换为对象
我在我的dom中得到了一个类似这样的Javascript JSON.parse无法将其转换为对象,javascript,angularjs,Javascript,Angularjs,我在我的dom中得到了一个类似这样的ng类,我如何在这里访问twitter和yahoo属性 ng-class="{twitter:2 < id , yahoo :2 >id}" ng class=“{twitter:2id}” typeof ng class是object,但当我尝试像elem[“ng class”][“twitter”]那样访问它时,它不起作用 执行JSON.parse(obj)时也会失败 未捕获的语法错误:JSON中位置1处的意外标记t 如果2id为true,
ng类
,我如何在这里访问twitter
和yahoo
属性
ng-class="{twitter:2 < id , yahoo :2 >id}"
ng class=“{twitter:2id}”
typeof ng class
是object
,但当我尝试像elem[“ng class”][“twitter”]
那样访问它时,它不起作用
执行JSON.parse(obj)
时也会失败
未捕获的语法错误:JSON中位置1处的意外标记t
如果
2
为true,元素将拥有classtwitter
,如果2>id
为true,元素将拥有classyahoo
(如果2>id
为true,元素将没有这两个条件)
因为它不是一个对象,所以没有可访问的属性。你所拥有的不是一个对象,而是一对条件:如果
2
为真,元素将拥有类twitter
,如果2
为真,元素将拥有类yahoo
(如果id==2
,则两者都没有)
因为它不是一个对象,所以没有可访问的属性。请添加引号和
()
以获取如下对象的值:
ng-class="{'twitter': (2 < id), 'yahoo': (2 >id)}"
ng class=“{'twitter':(2id)}”
通过此更新,您不会再次看到未捕获的SyntaxError!请为以下对象的值添加引号和
()
:
ng-class="{'twitter': (2 < id), 'yahoo': (2 >id)}"
ng class=“{'twitter':(2id)}”
通过此更新,您不会再次看到未捕获的SyntaxError!如您在本文中所看到的那样正常工作 当按角度解释时,ngClass将类值指定给
class
元素属性
当我试图像elem[“ng class”][“twitter”]
那样访问它时,它不起作用
如果您想检查DOM元素是否有“twitter”类,只需查询DOM即可。正如您在本文中看到的那样工作 当按角度解释时,ngClass将类值指定给
class
元素属性
当我试图像elem[“ng class”][“twitter”]
那样访问它时,它不起作用
如果要检查DOM元素是否有“twitter”类只需通过查询DOM来实现它。好吧,它是非常无效的JSON,所以
JSON也就不足为奇了。parse
不会解析它。。@t.J.Crowder:我如何访问这里的twitter属性?可能还有另一种方法可以实现您想要的功能。如果您解释为什么要在您的应用程序中访问twitter
和yahoo
条件类,我们可能会给你一些更好的选择。解释“动态模板”.Angular做得很好,我从来没有尝试过访问ng类
。@Damon:这是一个表达式。Angular的ngClass
指令理解该语法,如果表达式为真,将给元素classtwitter
,如果表达式为假,则不会给元素。好吧,它是非常无效的JSON,所以JSON也就不足为奇了。parse
不会解析它。…@t.J.Crowder:我如何访问这里的twitter属性?可能还有另一种方法可以实现您的目的。如果您解释为什么要在条件类中访问twitter
和yahoo
,我们可能会给您一些更好的选择。解释一下“动态模板”".Angular做得很好,我从来没有尝试过访问ng类
。@Damon:这是一个表达式。Angular的ngClass
指令理解该语法,如果表达式为真,就会给元素classtwitter
。只有代码的答案没有帮助l、 解释你做了什么,如何/为什么它解决了问题。而且,这与问题或问题无关。()
完全没有必要,什么也不改变。纯代码回答没有帮助。解释你做了什么,如何/为什么解决了问题。此外,这与问题或问题无关。()
完全没有必要,什么也不改变。typeof ng class=“{twitter:2typeof
是什么意思。我无法想象在任何上下文中你可以编写它并使其成为有效的代码。也许问题中的一个会有所帮助。typeof“{twitter:2getAttribute
获取该属性的文本,例如val.getAttribute(“ng类”)
:您可以使用setAttribute
更新属性值,但我非常怀疑这是正确的方法,除非Angular尚未在相关元素上运行(在这种情况下,应该可以)。如果Angular已经在相关元素上运行过,那么它可能已经尝试使用ng class
属性,其中包含{ind}
。typeof ng class=“{twitter:2typeof ng class
是什么意思。我无法想象你能在任何上下文中编写它并使其成为有效的代码。也许问题中的一个会有所帮助。typeof”{twitter:2getAttribute
获取该属性的文本,例如val.getAttribute(“ng cla