• [网络收集]html 一个属性,多个数据


    网上找到的方法,特记录下

    <div title="{name:'haha',id:6}" style="background:pink" onmousedown="eval('var obj='+this.title);alert(a.name);">lalala</div>

    这里用到的灵感来源于ajax返回的json格式数据,要使json形式的字符串转化为JavaScript对象,通常使用的是:

    eval('var re='+'o.responseText.replace(/<!--(.*?)-->/g, ''));

    同理,倘若,你使用的library是允许你直接访问dom的原生节点时,比如yui2,或者你没用任何lib,而你需要服务器端在你的div, li, 或是任何标签上吐给你一系列(数量>2)的值的时候,我推荐使用json的形式在dom里存放这些数据。
    首先,它很方便,只要eval之后,就可以根据这个生成的obj以简单高效的key=value方式来获取值。

    其次,json最重要的贡献在于它在人类语言和机器语言之间的平衡。既然它被douglas发明出来,为什么不使用它呢?:)
    看看这些不好的例子:
    1)使用titile="haha&6&func":

    <div title="haha&6" style="background:pink" onmousedown="var arr=this.title.split('&');alert(arr[0])">

    2)使用这个标签的所有属性来存放值:

    <div title="haha" lang="6" align="v">

    缺点是:当后端需要传给前端的数据愈多,你会满大街的找节点的原生属性。

    这两种方法的共同缺点是:
    在前端开发这种需求和开发人员都时常变动的情况下,当后端和前段工程师都换了人,谁会知道你的"haha"是代表着"title",而"6"是id的值?

  • 相关阅读:
    SqlLikeAttribute 特性增加 左、右Like实现
    MySql高效分页SQL
    ConcurrentQueue对列的基本使用方式
    第一次
    kubeadm搭建高可用k8s平台(多master)
    prometheus监控
    pyecharts地图中显示地名
    anaconda安装及使用
    Python的pyecharts安装
    安装MY SQL详细步骤
  • 原文地址:https://www.cnblogs.com/knightyj/p/3670317.html
Copyright © 2020-2023  润新知