JSON.parse无法将其转换为对象

时间:2016-11-25 15:35:21

标签: javascript angularjs

我在我的dom中收到ng-class这样的内容,如何在此处访问twitteryahoo属性。

ng-class="{twitter:2 < id , yahoo :2 >id}"

typeof ng-classobject,但是当我尝试访问它时elem["ng-class"]["twitter"]不起作用。

执行JSON.parse(obj)时也会失败。

  

Uncaught SyntaxError:位置1的JSON中出现意外的标记t

3 个答案:

答案 0 :(得分:3)

你所拥有的不是一个对象,它是ngClass directive中的一对条件:如果twitter为真,该元素将具有类2 < id如果yahoo为真,则会有2 > id类;如果id == 2,则不会有"<a href=\"/includes/getUpdate.php\">"

由于它不是一个对象,因此无法访问。

答案 1 :(得分:0)

请为对象的值添加引号和(),如下所示:

ng-class="{'twitter': (2 < id), 'yahoo': (2 >id)}"

通过此更新,您再次看不到Uncaught SyntaxError

答案 2 :(得分:0)

正如您在此Plunkr

中看到的那样,按预期工作

当由Angular解释时,ngClass将类值分配给.setExecutorEnv('PYTHONPATH', '/custom_dir_that_I_want_to_append/') 元素属性。

  

当我尝试访问它时class不起作用。

如果你想检查DOM元素是否有&#34; twitter&#34; class只需通过查询DOM来实现。