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

2016-02-19 10:27 1 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都支持的。

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

延伸阅读
为何iPhone不支持SD卡外置存储   问:为什么苹果的移动设备,比如iPhone、iPad都不支持像Android设备一样,直接插SD卡作为扩展存储呢? 答:众所周知,在购买iPhone时,用户通常面临的选择只是颜色上与存储空间上的。iPhone等苹果的移动设备并不支持SD卡作为外接存储。那么苹果为什么要对SD卡做出限制呢? 首先,自然是利...
标签: 软件教程
很多金山的用户在用金山重装高手的时候出现了暂不支持的问题,小编童鞋为大家搜集了一些原因和解决办法,希望能够帮助大家解决问题 1、为什么重装时显示“暂不支持重装系统”? 右键点击“我的电脑”(nt6.x用户右键点击“计算机”),点击“属性”查看系统版本。 2、为什么重装系统提示检测到“多系统用户....
标签: 浏览器
如何解决浏览器不支持cookies   故障分析:造成浏览器不支持cookies的情况首先考虑你是不是浏览器的问题,浏览器设置出现错误,浏览器内部异常的情况,其次就是你的电脑是否被中毒,系统文件被丢失的现象所导致。下面就一起来看看如何解决浏览器不支持cookies的操作方法。 解决方案: 一、先检测你的浏览器,假如你的浏览器...
标签: Web开发
网页的标准,IMG不支持onload标签怎么办这个记得以前有人问过我,但是我那时还没有注意这些. 现在终于遇到这个问题了.因为 img 标签是没有 onload 事件的.所以 UBB 代码中的img用到的onload来处理大的图片进行自适应,这样的办法就不能采取了. 但是经过测试,body还是可以带onload事件的, 所以我解决的办法...
标签: Web开发
请新建文件TestImage.html 注意:静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。 欢迎与邀月交流,net技术与软件架构 内容如下,(可自行修改): 代码如下: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xml...

经验教程

756

收藏

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