【问题标题】:jQuery retrieving array from attribute valuejQuery从属性值中检索数组
【发布时间】:2009-11-26 13:39:38
【问题描述】:

如果我有:

<a id="anchor" href="some link" rel="{ key1: 'value', key2 : 'value'}">text</a>

如何检索 'rel' 属性中的值,以便我可以使用点表示法来引用它们?

例如。

$('#anchor').attr('rel').key1

【问题讨论】:

    标签: jquery arrays attributes


    【解决方案1】:

    您需要 JSON deserializerjQuery JSON Plugin 来将字符串转换为 JavaScript 对象(请不要只评估它)。

    var obj = JSON.parse($('#anchor').attr('rel'));
    

    使用jQuery data 直接将该对象附加到您的链接可能也是一种选择。

    【讨论】:

      【解决方案2】:

      这里你给rel 一个字符串化的JSON 对象的值。您需要JSON library 并致电

      JSON.parse($('#anchor').attr('rel')).key1
      

      【讨论】:

      • 我以编程方式从服务器上设置多个项目,我想我可以尝试类似: $('#').data( '"Data" : { key1: 'value', key2: 'value' }' );我认为这实际上作为一种数据设置方法更有意义,用于使用来自服务器的数据填充客户端。到目前为止,我一直在属性中存储值,但使用上述方法实际上可能更有意义。它肯定会使整体代码更具可读性。嗯。
      • 是的,data 将是一个更适合存储数据的地方。它的好处是不必来回解析JSON,并且不会使您的标记无效。
      猜你喜欢
      • 2013-09-03
      • 2015-11-05
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-06
      • 2023-03-10
      相关资源
      最近更新 更多