标签for属性与对应的id之关系

Dreamweaver8 标签for属性与对应的id之关系

<label>标签的功能是使浏览器用焦点矩形呈现在与表单对象关联的文本,使得用户可通过关联文本的任意位置,而不仅是在表单对象上,单击来选择该表单。

在DW8中插入表单元素,会弹出【输入标签辅助功能属性】对话框,使用”for”属性附加标签标记时,会在插入的表单项的两侧边(前侧或后侧)添加一个标签标记“<label>…</label>”

比如,在下面例子中直接单击文本“用户名”就可同样选中表单元素。

运行代码框
<form><label for="cn_bruce">用户名</label><input type="text" name="cn_bruce" accesskey="c" id="cn_bruce" /></form>
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

主要就是 label 属性 for="cn_bruce" 而 input 属性 id="cn_bruce",此为关联。

但使用DW8进行插入时,默认的 input 的 name 和 id 属性是相同的“textfield n(n=Φ,1,2,……)”

但很显然,在插入完表单对象后,需要重新编辑表单项的“名称”,比如修改“textfield”为“cn_bruce”

则,表单项的name 和 id 一起修改为“cn_bruce”

然而默认的标签label的 for 属性值还是 “textfield”,如果要实现 label 的功能就必须手动修改 for 的值

不过,相同的设置在对 radio 单选框进行设置时,却是能保证 label 的 for 属性值一直与对应的 表单项的 id值吻合

主要原因就是,当对radio 进行 name 属性值修改时,其对于的id 值是不变的。

为什么不变?

首先,radio 也就是单选框的功能是 多个当中选择一个,那么怎么区别许多的 radio 是一个组里面的,就从这一组中选择某一个。那么HTML标签就是要求,这许多的单选按钮要想是一个组里面的,必须要求其 name 属性值一样,比如下面的三个radio的name值都为“s”,则是一个组的。

运行代码框
男 <input type="radio" name="s" value="n" />女 <input type="radio" name="s" value="v" />妖 <input type="radio" name="s" value="y" />
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

那么只要一个name不同,则不属于一个组

OK,一直说明的是 radio 要求 name 值一样,再切到话题

因为上面其他的表单项在改变name属性值时自动改变id值

那么,如果radio也是改变name属性值时自动改变id值,因为radio的name值的一样,所以势必使得id值也一样

但,id属性值能一样么?id就是网页文档中网页元素对象的身份证号,是不建议相同的,所以,radio 的 id值就保持不变

所以,radio 对应的 label 标签的 for属性值 也就与之吻合

故,在Dreamweaver8中创建表单项时,其<label>标签的for属性值不能始终对应其表单项的ID值,为后来的编辑带来些麻烦。

所以,在DW8 中操作label和表单项:

要不就是使得 <label>标签的for属性值随着表单项id 值的变化而变化

要不就是在修改表单项name属性的同时,保持id属性值不变(如radio)

时间: 2024-10-08 17:09:16

标签for属性与对应的id之关系的相关文章

语义化你的HTML标签和属性

语义化你的HTML标签和属性 分离结构与表现的另一个重要方面是使用语义化的标记来构造文档内容.一个 XHTML 元素的存在就意味被标记内容的那部分有相应的结构化的意义,没有理由使用其他的标记.换句话说,不要让 CSS 使一个 HTML 元素看起来就像另一个 HTML 元素,比如用<div>来代替<p>标记标题. 首先是关于语义(Semantics)和默认样式的区别,默认样式是浏览器设定的一些常用tag的表现形式,个人认为他的主要目的就是让大家直观的认识标签(markup)和属性(a

JavaScript获取并更改input标签name属性的方法

  本文实例讲述了JavaScript获取并更改input标签name属性的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <input name="kk"></input>   <script language="javascript"> // 这里用getElementsByTagName把所有的input对象取出来, //这是这个问题的关

HTML5 Video标签的属性、方法和事件汇总介绍

 HTML5 Video标签的属性.方法和事件汇总介绍 前段时间写了一个基于html5 video的视频播放器,从起初的对其不了解,然后到能够写一个基本完善的自定义播放器.在这个过程中,对video标签的属性,方法,事件有了个全面的认识.下面分类列出来一下. <video>标签的属性 代码如下: src :视频的属性 poster:视频封面,没有播放时显示的图片 preload:预加载 autoplay:自动播放 loop:循环播放 controls:浏览器自带的控制条 width:视频宽度

HTML5新增标签和属性简介

HTML5以进入实际应用,它的强大之处早有耳闻,下面来看一下html5中的新标签和属性. HTML5中的新标签: <article>  :定义article <aside>:定义页面内容之外的内容 <audio>:定义声音内容 <canvas>:定义图形 <command>:定义命令按钮 <datalist>:定义列表 <datails>:定义元素的细节 <embed>:定义外部交互内容或插件 <figc

html select标签的属性和方法

  html select标签的属性: 标签属性 属性 描述 ACCESSKEY accessKey 设置或获取对象的快捷键. ALIGN align 设置或获取对象针对其邻接文本如何排列. ATOMICSELECTION   指定元素及其内容是否可以一不可见单位统一选择.   canHaveChildren 获取表明对象是否可以包含子对象的值.   canHaveHTML 获取表明对象是否可以包含丰富的 HTML 标签的值. CLASS className 设置或获取对象的类.   clien

jquery-用jQuery对一个th标签添加属性或样式!!!急!!!

问题描述 用jQuery对一个th标签添加属性或样式!!!急!!! 现在有许多th,table使用自定义标签拼接好的,现在我想对这些th添加事件, 点击一次让th内容的后边加上一个向上箭头,再次点击,将向上箭头改为向下箭头.求教各位大神,该怎么做,另外有没有好看的向上向下箭头的样式源码分享一下,非常感谢. 解决方案 jQuery改变标签的样式一般有3种 1,预置好class,然后通过jQuery改变元素的class名,使用的是addClass.removeClass 2,直接改变元素的css属性

javascript-Javascript获取有CSS动画的标签的属性值

问题描述 Javascript获取有CSS动画的标签的属性值 //CSS中的动画: @keyframes move{ 0% {left:0px;} 100% {left:100px;} } //CSS样式: .move1{ width:100px; height:100px; animation:move 1000ms; -webkit-animation:move 1000ms } //div标签: div id="1" class="move1" 或者 .mov

代码-移动端label标签for属性的问题

问题描述 移动端label标签for属性的问题 代码如下: <label for="INPUT"> <span>这特么是要闹哪样嘛</span> </label> <input type="file" id="INPUT" /> ==========华丽丽的分割线=========== 以上代码在PC端浏览器毫无问题,但在移动端浏览器中点击span标签时不会触发label的for效果.

正值表达式匹配html标签的属性值_正则表达式

正则表达式是做文本解析工作必不可少的技能.如Web服务器日志分析,网页前端开发等.很多高级文本编辑器都支持正则表达式的一个子集,熟练掌握正则表达式,经常能够使你的一些工作事半功倍.例如统计代码行数,只需一个正则就搞定.嵌套Html标签的匹配是正则表达式应用中一个比较难的话题,因为它涉及到的正则语法比较多,也比较难.因此也就更有研究的价值. 今天由于工作的需求,需要获取html标签的属性值,立即想到了正则表达式,标签如下: <circle id="ap_test" cx="