zzzcsd 2015-05-18 23:54 采纳率: 0%
浏览 2584

关于前端组件的封装的 问题

如果不使用任何前端框架, 自己写前端代码
有些组件, 是跟数据有关联性的
比如, 有一种按钮, 他又三个状态, 在UI 上分别用三种不同的背景图片表示
在程序逻辑上, 分别给这些按钮的element对象添加一个属性来表示他的状态

 <button id="btnFoo"></button><button id="btnBar"></button>
 document.getElementById("btnFoo")["state"]="ready";

大家看看这种方式, 有没有什么不妥, 有没有更好的办法?
浏览器不支持HTML5的

  • 写回答

4条回答 默认 最新

  • Go 旅城通票 2015-05-19 00:49
    关注

    自定义属性用getAttribute、setAttribute方法来做,而不是 document.getElementById("btnFoo")["state"]="ready";如果你初始化了state属性,标准浏览器不能通过document.getElementById("btnFoo")["state"]来获取自定义属性值,可以使用document.getElementById("btnFoo").getAttribute('state')获取

     <input type="button" id="btn" value="state" state="ready"/>
    <script>
    var btn=document.getElementById('btn');
    alert(btn['state'])//undefined
    alert(btn.getAttribute('state'))//ready
    </script>
    
    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?