栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何将服务器端数据与HTML中的客户端UI元素相关联?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何将服务器端数据与HTML中的客户端UI元素相关联?

本页介绍了许多以这种方式注释HTML的方法,但是没有一种方法令人满意。

不过,它们几乎就是您所拥有的。尽管该页面不是一个非常好的摘要,但仍然存在错误,并且误解了“不引人注目的” Javascript的含义。

例如,实际上将脚本元素放在主体内是完全有效的—而不是直接放在表元素内。您可以将所有脚本片段放在表的底部,也可以将每一行放在其自己的表中,或者,如果要对DOM进行突变,则可以在有问题的行内添加一些限制。

设置“ id =“ comment-123””,然后扫描所有以“
comment-”开头的id的行,确实适合您的特定情况。为了设置非标识性的额外信息属性,您可以使用HTML5数据属性,也可以使用eg将其入侵到类名中。“
class =“ comment type-foo data-
bar””。当然,ID和类名对于可以使用哪些字符都有其限制,但是可以将任何字符串编码为有效字符串。例如,您可以使用自定义URL样式编码来隐藏非字母数字字符:

<tr >    ...</tr>function getClassAttr(el, name) {    var prefix= name+'-';    var classes= el.className.split(' ');    for (var i= classes.length; i-->0;) {        if (classes[i].substring(0, prefix.length)==prefix) { var value= classes[i].substring(prefix.length); return depreURIComponent(value.split('_').join('%'));        }    }    return null;}var greeting= getClassAttr(tr, 'greeting'); // "Hello! ☺"

您甚至可以通过以下方式存储复杂的非字符串值:将它们编码为Javascript或JSON字符串,然后使用exec(或JSON.parse,如果有)检索它们。

但是,如果您在其中放置任何不重要的内容,很快就会变得混乱。那是您可能喜欢评论的地方。您可以在此处插入除“-”以外的任何内容,如果碰巧出现在字符串中,则很容易转义。

<table>    <tr >        <td>...</td>        <!-- {"id": 123, "user": 456} -->    </tr></table>function getLastComment(node) {    var results= [];    for (var i= node.childNodes.length; i-->0;)        if (node.childNodes[i]==8) return node.childNodes[i];    return null;}var user= getLastComment(tr).user;

摘要警告说,由于XML解析器可能会丢弃注释,因此不能保证一定会起作用,但是DOM Level 3
LS解析器必须默认保留它们,并且到目前为止,每个浏览器和主要的XML库都可以保留注释。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/393490.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号