【问题标题】:The replacement to the name attributename 属性的替换
【发布时间】:2010-10-02 18:44:27
【问题描述】:

我很困惑。我需要命名我的 iframe 以便在我的菜单的超链接中使用该名称作为目标。根据我的 Visual Web Developer Express,name 属性被认为是过时的,需要一个新的构造。我的问题是我用什么属性代码来命名我的 iframe。谢谢

【问题讨论】:

    标签: iframe attributes replace


    【解决方案1】:

    根据我的 Visual Web Developer Express,name 属性被认为是过时的,需要一个新的构造。

    那么 Visual Web Developer Express 是错误的。出于锚点和脚本/样式挂钩的目的,'name' 将替换为 'id',但出于识别链接目标(例如框架)的目的,它不是。见http://www.w3.org/TR/REC-html40/present/frames.html#adef-targethttp://www.w3.org/TR/REC-html40/present/frames.html#adef-name-IFRAME

    这种用法在 HTML 术语中并未被弃用,但它有点代码味道。将链接定位到 iframe 通常被认为是一件坏事,因为它打破了许多正常的导航预期。它有一些用途,但要小心。

    【讨论】:

      【解决方案2】:

      忽略警告。相信 DOCTYPE 规范。 name 属性很好。事实上,通过嵌入式 HTML 表单的 HTTP 帖子使用 name 属性作为键来传递数据。

      <input id="txtName" name="name" />
      

      要获取 Page_Load 中的文本框值,您将使用 Request.Form("name"),而不是 Request.Form("txtName")

      如果对属性等有疑问,请通过W3 validator 运行您呈现的 HTML,以根据 DOCTYPE 对其进行验证。

      【讨论】:

      • 更正:名称结构在所有元素上都被认为是过时的,除了表单元素,因为 id 不适用于单选按钮输入。
      • 'name' on input 当然与 [i]frame 上的 'name' 有不同的含义。转移到“id”的目的正是为了缓解“name”含义的这种重载。 'id' 不能用作任何类型的表单元素的控件名称说明符,而不仅仅是收音机。 'id' 用于锚点和脚本钩子。
      【解决方案3】:

      通常,您会使用“id”属性作为替代。这并不总是“最佳的”。例如,我注意到这并不总是适用于命名锚。

      【讨论】:

      • 'id' 不能(也不应该)用于识别链接目标。
      猜你喜欢
      • 2020-09-27
      • 2013-03-10
      • 2018-07-17
      • 2018-05-06
      • 2012-09-11
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 2013-03-06
      相关资源
      最近更新 更多