一 处理HTML元素的自定义属性
HTML元素,属性已经十分丰富了。但是,在某些场合下,也会显得捉襟见肘,这时候自定义属性就发挥了十分关键的作用。
Html元素的自定义属性,使用起来,十分方便,例如:
<input type=”button” value=”Click Me, Baby!” />
假设我们现在需要限制,这个按钮,只能点击2次,然后就失效了。
通常的实现方式,是可以利用全局变量的形式来记录点击次数,但我们这里用自定义属性来实现这个功能,展示一下自定义属性的优势;我们对上面的button做一下改造:
<input type=”button” value=”Click Me, Baby!” clickCount=”0” />
可以看到,我为这个button 增加了一个自定义属性 clickCount, 并将初始值设为 0;下面我们来写实现功能的js代码:
1. 给 button 增加click事件的处理
<input type=”button” value=”Click Me, Baby!” clickCount=”0” onclick=”customAttributeDemo(this);" />
2. 我们来写 customAttributeDemo(obj) 这个函数
对于IE来讲,使用自定义属性非常简单,因为IE自动将自定义属性解析到了DOM中,和标准属性没有任何区别,IE下的版本:
function customAttributeDemo(obj)
{
if (obj.clickCount === '0')
{
obj.clickCount = '1';
}
else
{
obj.disabled = true;
}
}
上面的代码在 FireFox 下将失效,因为FireFox对自定义属性的使用,限制更高,只能使用 attributes[] 集合来访问,FireFox 下的代码:
function customAttributeDemo(obj)
{
if (obj.attributes['clickCount'].nodeValue === '0')
{
obj.attributes['clickCount'].nodeValue = '1';
}
else
{
obj.disabled = true;
}
}
上面的代码,也适用于IE,所以,这个代码,就是具有兼容性的代码了,嘿嘿
感谢小秦网友的交流,他给出了 getAttribute 和 setAttribute 的方法:
function customAttributeDemo(obj)
{
if (obj.getAttribute('clickCount') === '0')
obj.setAttribute('clickCount', '1');
else
obj.disabled = true;
}
前面说过为HTML元素添加自定义的属性,是通过手动在HTML控件中加上,其实可以在javascript中动态添加:如有一文本框:
<input type="text" id="txtInput" name="txtInput" value="自定义文本">
如想增加idvalue属性(值为”自定义值”),可以在javascript中这样写:
var txt = document.getElementById("txtInput");
txt.setAttribute("idvalue","自定义值");
setAttribute中第一个参数是指明自定义属性的名称,第二个参数是初始值
代码如下:
<html>
<head>
<title>用javascript添加控件自定义属性</title>
<script language="javascript">
function addCustomAttribute()
{
var txt = document.getElementById("txtInput");
txt.setAttribute("idvalue","自定义值");
}
function showIdValue()
{
var txt = document.getElementById("txtInput");
alert(txt.attributes["idvalue"].nodeValue);
}
</script>
</head>
<body onload="addCustomAttribute();">
<input type="text" id="txtInput" name="txtInput" value="自定义文本">
<input type="button" value="显示idValue" onclick="showIdValue();">
</body>
</html>
原文出自:http://www.cnblogs.com/pricks/archive/2010/02/10/1667108.html
相关推荐
HTML5如何添加自定义标签属性(data-自定义属性).zip
### HTML:自定义标签属性详解 #### 一、引言 HTML 作为 Web 开发的基础语言之一,提供了丰富的标签及属性来构建网页内容。在实际应用中,有时我们需要为 HTML 元素添加额外的信息或功能,这就需要用到自定义属性...
在JavaServer Pages (JSP)技术中,自定义标签是扩展JSP功能的重要方式,它允许开发者创建可重用的组件,类似于HTML标签但具备更强大的功能。自定义标签可以包含复杂的业务逻辑,并且可以通过XML样式的语法进行调用,...
HTML自定义标签是HTML5引入的一个重要特性,它允许开发者根据需求定义自己的元素,从而更好地组织和结构化页面内容,提高代码的可读性和可维护性。本文将深入探讨HTML自定义标签的开发与使用,以及在实际应用中需要...
自定义标签可以带有属性,这些属性在标签被调用时可以传递特定的值,使得标签的使用更加灵活和强大。 #### 二、创建自定义带属性的标签步骤 1. **编写自定义标签类**:首先,你需要创建一个继承自`javax.servlet....
- 自定义标签的属性值可以是变量,例如`$age}"></xy:test>`,ThinkPHP会自动处理变量替换。 通过以上步骤,你就能在ThinkPHP 3.0项目中成功地创建和使用自定义标签了。这不仅提高了代码的可维护性,也使得模板设计...
在JSP中,自定义标签是通过TLD(Tag Library Descriptor)文件定义的,它允许开发者创建类似于HTML标签的自定义组件。这些标签可以封装Java代码,提供更清晰、更易于维护的视图层。自定义标签的实现通常包括两个部分...
1. 创建标签库描述文件(TLD,Tag Library Descriptor):这是定义自定义标签的关键文件,用于描述标签的属性、命名空间等信息。例如,`struts-tags.tld`。 2. 编写标签处理类(Tag Class):这个类负责处理标签的...
这为开发者提供了极大的便利,因为不再需要为每个可能的属性都预定义一个标签属性。 创建动态属性自定义标签通常涉及以下几个步骤: 1. **定义标签库描述符(TLD,Tag Library Descriptor)**:TLD是XML文件,用于...
JSP自定义标签提供了类似HTML标签的语法结构,通过自定义标签,开发者可以封装复杂的Java代码,使得页面更加简洁易读。简单标签机制无需提供标签体,仅通过标签属性传递参数。 1.2 使用标签文件 除了简单的标签机制...
自定义标签是JSP中的一种高级特性,它允许开发者创建类似于HTML标签的自定义组件。这种组件可以封装复杂的业务逻辑或视图展示,提供了一种更面向对象的方式来编写JSP页面。 1. **创建自定义标签** - 定义Tag接口:...
5. **属性和表达式语言(Expression Language, EL)**:自定义标签可以接收属性参数,这些参数可以是静态值,也可以是EL表达式,EL提供了一种简洁的方式来访问JavaBean或其他数据源。 6. **国际化(i18n)与资源包...
1. **定义标签库(Tag Library)**:自定义标签首先需要定义一个TLD(Tag Library Descriptor)文件,它包含了标签的元数据,如标签名称、属性、导出的类等信息。TLD文件通常以`.tld`为扩展名,需要放置在WEB-INF...
本教程将聚焦于如何使用jQuery给HTML标签添加自定义属性,这在增强网页元素功能和实现特定逻辑时十分有用。 首先,让我们了解一下自定义属性。在HTML5中,允许开发者为元素添加非标准的属性,这些属性通常以"data-...
1. 编写TLD文件:TLD文件是XML格式的,用于描述自定义标签的属性、行为和事件。例如: ```xml <name>myTag <tag-class>com.example.MyTagHandler</tag-class> <body-content>empty <name>param1 <required>...
- **TLD(Tag Library Descriptor)文件**:这是定义自定义标签的元数据文件,包含了标签的名称、属性、导出的变量等信息。TLD文件一般以`.tld`为后缀,通常放在WEB-INF目录下。 - **Tag Handler类**:处理标签...
自定义标签有多种类型,包括没有属性和主体的简单标签、有属性但无主体的标签以及同时包含属性和主体的标签。在开发自定义标签时,通常会通过继承如`BodyTagSupport`这样的基类来实现,因为它们已经实现了`Tag`接口...
- 假设我们有一个自定义标签`<my:displayUser>`,用于显示用户信息,可以在TLD中定义它的属性如`userId`,并在处理类中从请求或会话中获取用户数据,然后在JSP页面中使用该标签,如`${user.id}"/>`。 6. **自定义...
自定义标签功能允许开发者根据项目需求添加特定的HTML标签,以便更好地控制和展示文本内容。 **自定义标签操作步骤如下:** 1. **配置CKEditor** 首先,你需要在CKEditor的配置文件`config.js`中设置允许的HTML...
2. 属性处理:自定义标签可以接受属性,这些属性在TLD文件中定义,并在处理类中通过`pageContext.getAttribute()`获取。 3. 标签体处理:如果自定义标签需要访问标签体的内容,可以实现`javax.servlet.jsp.tagext....