Kum*_*rsh 277
在HTML4.01中:
名称属性
<a>
,<form>
,<iframe>
,<img>
,<map>
,<input>
,<select>
,<textarea>
getElementsByName()
id
属性共享相同的命名空间name
属性的输入标记提交给服务器Id属性
<base>
,<html>
,<head>
,<meta>
,<param>
,<script>
,<style>
,<title>
#
符号的URL中引用getElementById()
,和jQuery 引用$(#<id>)
_
),短划线(-
),冒号(:
)或句点(.
)以外的任何内容在(X)HTML5中,除了以下内容之外,一切都是相同的:
名称属性
<form>
了Id属性
这个问题是在HTML4.01成为常态时编写的,许多浏览器和功能都与今天不同.
Mic*_*ert 166
name属性用于发布到例如web服务器.id主要用于css(和javascript).假设你有这个设置:
<input id="message_id" name="message_name" type="text" />
Run Code Online (Sandbox Code Playgroud)
为了在发布表单时使用PHP获取值,它将使用name-attribute,如下所示:
$_POST["message_name"];
Run Code Online (Sandbox Code Playgroud)
如前所述,id用于样式,用于何时使用特定的css.
#message_id
{
background-color: #cccccc;
}
Run Code Online (Sandbox Code Playgroud)
当然,您可以对id和name-attribute使用相同的面额.这两个不会相互干扰.
此外,名称可用于更多项目,例如当您使用radiobuttons时.然后使用名称对您的单选按钮进行分组,因此您只能选择其中一个选项.
<input id="button_1" type="radio" name="option" />
<input id="button_2" type="radio" name="option" />
Run Code Online (Sandbox Code Playgroud)
在这个非常具体的案例中,我可以进一步说明如何使用id,因为你可能需要一个带有radiobutton的标签.Label有一个for-attribute,它使用输入的id将此标签链接到您的输入(当您单击标签时,选中该按钮).示例可以在下面找到
<input id="button_1" type="radio" name="option" /><label for="button_1">Text for button 1</label>
<input id="button_2" type="radio" name="option" /><label for="button_2">Text for button 2</label>
Run Code Online (Sandbox Code Playgroud)
Rob*_*nik 69
页面的DOM元素树中...所以每个控制是单独访问其id
通过在客户端(浏览器内页)
在您的网页上拥有非唯一ID仍会呈现您的网页,但它肯定无效.解析无效的HTML时,浏览器非常宽容.但不要因为看起来它有效而不这样做.
...在同一类型的几个控件之间的页面DOM内(想想单选按钮),所以当数据被POST到服务器时,只发送一个特定的值.因此,当您的页面上有多个单选按钮时,value
即使有几个相关的单选按钮控件,也只会将选定的单选按钮发回服务器name
.
向服务器发送数据的附录:当数据发送到服务器时(通常通过HTTP POST请求),所有数据都作为名称 - 值对发送,其中name是
name
输入HTML控件的值,值是value
由输入/选择的值输入/选择的用户.对于非Ajax请求,这始终是正确的.在Ajax请求中,名称 - 值对可以独立于页面上的HTML输入控件,因为开发人员可以将任何他们想要的内容发送到服务器.通常也会从输入控件中读取值,但我只想说这不一定是这种情况.
在任何表单输入类型的控件之间共享名称有时可能是有益的.但当?您没有说明您的服务器平台可能是什么,但如果您使用像Asp.net MVC这样的东西,您将获得自动数据验证(客户端和服务器)以及将发送数据绑定到强类型的好处.这意味着这些名称必须匹配类型属性名称.
现在假设您有这种情况:
因此,您的视图模型(因为它显示列表)是类型的,IEnumerable<SomeType>
但您的服务器端只接受一个类型的项目SomeType
.
每个项都包含在它自己的FORM
元素中,并且其中的输入元素具有相同的名称,因此当数据到达服务器(来自任何元素)时,它将被正确绑定到控制器操作所期望的字符串类型.
这个特殊情况可以在我的Creative story迷你网站上看到.您将无法理解该语言,但您可以查看这些多种表单和共享名称.没关系,ID
s也是重复的(这是违反规则的)但是可以解决.在这种情况下,这无关紧要.
Jav*_*ome 27
name
识别表单字段*; 因此,它们可以由代表这种字段的多个可能值的控件共享(单选按钮,复选框).它们将作为表单值的键提交.id
识别DOM元素; 所以他们可以成为CSS或Javascript的目标.*名称也用于标识本地锚点,但这已被弃用,"id"是目前这样做的首选方式.
Gol*_*rol 10
name
是传递值时使用的名称(在URL或发布的数据中).id
用于唯一标识CSS样式和JavaScript的元素.
它id
也可以用作锚.在过去,<a name
用于此,但你也应该使用id
for anchors.name
仅发布表单数据.
一旦提交表单,名称就会定义属性的名称.因此,如果您想稍后阅读此属性,您将在POST或GET请求中的"名称"下找到它.
而id用于在javascript或css中添加字段或元素.
归档时间: |
|
查看次数: |
332963 次 |
最近记录: |