HTML中不支持静态Expando的元素的问题

2016-02-19 10:27 4 1 收藏

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享HTML中不支持静态Expando的元素的问题的教程,热爱PS的朋友们快点看过来吧!

【 tulaoshi.com - Web开发 】

在使用脚本统一处理一批页面的时候,我希望通过被处理页面的TITLE元素取到文档的标题和我自定义的一些属性。这些附加的属性是我在服务器端通过Attributes集合添加的,可是运行的结果和我的期望老是相去甚远,怎么我在TITLE元素里写入的自定义属性老是空值呢?

    客服端和服务器端代码分别是:

    ASPX:
title id="title" runat="server"Query Info/title
    C#:  protected HtmlGenericControl title;

private void Page_Load(object sender, System.EventArgs e)
{
    // ...
    title.InnerHtml = "查询信息";
    title.Attributes["icon"] = "QueryInfo.gif;
}
    HTML:
title id="title" icon="QueryInfo.gif"查询信息/title
    JavaScript:
var iconPath = docucment.all.tags('TITLE')[0].icon;
if ( iconPath )
{
    var img = document.createElement('IMG');
    img.src = iconPath;
    // ...
}

    结果就是总出不来我希望的那个icon,跟踪JavaScript代码,发现iconPath总是undefined。在看看HTML代码,里面明明有icon="QueryInfo.gif"这个属性值对。于是从title对象中去查看outerHTML,outerHTML居然是:title id="title"查询信息/title。根本没有icon那个属性,难怪JavaScript取到的iconPath总是undefined的说。

    仔细查下去,发现原来是html元素在处理expando属性上有区别。我们给html元素添加expando属性有两种方式,一是我们常用的动态方式;就是使用脚本来给html元素添加expando属性。二是使用静态方式;即在html代码中以literal方式添加expando属性。分别举例如下:

    动态添加expando属性: span id=mySpanthis is a span element./span
script language=javascript
mySpan.myAttri = 'attribute';
/script
    静态添加expando属性: span id=mySpan myAttri=attributethis is a span element./span
    本来这两种写法基本是没有什么区别的,可是元素title却只支持动态添加expando属性,而不支持静态添加expando属性,这也就是为什么我开始会出错误的原因。那么还有那些html elements和title一样不支持静态添加expando属性呢?在108个html elements中,以下10个元素都不支持静态添加expando属性:
HTML, HEAD, TITLE, BODY, BASEFONT, FORM, HR, HR, TBODY, SCRIPT
    不过动态添加expando属性,是所有的html elements和dhtml objects都支持的。

来源:http://www.tulaoshi.com/n/20160219/1594698.html

延伸阅读
标签: Web开发
网页的标准,IMG不支持onload标签怎么办这个记得以前有人问过我,但是我那时还没有注意这些. 现在终于遇到这个问题了.因为 img 标签是没有 onload 事件的.所以 UBB 代码中的img用到的onload来处理大的图片进行自适应,这样的办法就不能采取了. 但是经过测试,body还是可以带onload事件的, 所以我解决的办法...
标签: 电脑入门
现在分区不支持大于4G的文件,不支持大于4G的文件怎么办,如何下载大于4G文件。看到有很多新人没法把超过4G的电影存放到U盘里,下面三聯教程教给大家一个很简单的方法。 具体操作步骤如下: 方法一: 点击开始菜单选择运行输入cmd打开命令提示符如需要转换D盘,在cmd中输入convert D: /fs:ntfs(不含引号,且cmd中只能使用鼠标右键粘贴),如...
不支持google play服务怎么办   不支持google play服务怎么办?下文将介绍设备不支持google play服务解决方法,如果你在玩游戏或者软件时遇到了不支持google play服务的提示就请参考下文步骤操作吧。 准备工作 1、安装Google Play服务框架、Google Play 服务、Google Play 三个软件。 2、手机需要Root。 ...
为何iPhone不支持SD卡外置存储   问:为什么苹果的移动设备,比如iPhone、iPad都不支持像Android设备一样,直接插SD卡作为扩展存储呢? 答:众所周知,在购买iPhone时,用户通常面临的选择只是颜色上与存储空间上的。iPhone等苹果的移动设备并不支持SD卡作为外接存储。那么苹果为什么要对SD卡做出限制呢? 首先,自然是利...
标签: 软件教程
很多金山的用户在用金山重装高手的时候出现了暂不支持的问题,小编童鞋为大家搜集了一些原因和解决办法,希望能够帮助大家解决问题 1、为什么重装时显示“暂不支持重装系统”? 右键点击“我的电脑”(nt6.x用户右键点击“计算机”),点击“属性”查看系统版本。 2、为什么重装系统提示检测到“多系统用户....

经验教程

769

收藏

60
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部