- From: Chris <yesu326@gmail.com>
- Date: Sat, 9 Apr 2011 13:51:51 +0800
- To: Shihua Ma <mashihua@gmail.com>
- Cc: 周裕波 <itchina110@gmail.com>, public-html-ig-zh@w3.org
- Message-ID: <BANLkTimCGvUx8UsKpRTfaLvBmkenhfg9AA@mail.gmail.com>
我并没有说 selector 只是 tag, 重点是在 type 关键字上: E element 是 type E 中的一个元素 就像你和我皆是地球人 (tag -- type E), 说地球人的时候, 包括你我他, 但只说你的时候, 只是个体 ([id=Shihua] element -- an element of type E), 或者名叫 Chris 的群体 ([name=Chris] elements -- any matched elements of type E ). tag 是定义类型, element 是指该类型中有特定属性的元素, start/end tag 更像是 start/end of line 的一种命名法 我们可以用 ul 定义无序列表 (称之为 tag), 其中我们可以在 to-do list (特定 element) 放 to-do 项, shopping list (特定 element) 放购物项. 特定 element 有特定的属性, 而 tag 定义则只有共有的属性. 我们可以称 to-do 和 shopping 为列表, 但 to-do 不是 shopping. W3C 并没有明确解释, 我只是从定义等方面着手去理解, 主要基于面向对象的概念. Regards, Chris -- ねだるな、かちとれ、さすればあたえられん -- 2011/4/8 Shihua Ma <mashihua@gmail.com> > 抱歉刚才没有reply all。Chris,在css selector的定义中只是模式(parttern),并没有说Matches any E > element (i.e., an element of type E).说的是tag。整篇文章关于tag的是start tag,和end tag。 > > Regards, > > Shihua Ma > > > 2011/3/31 Chris <yesu326@gmail.com> > >> 我的理解是 element 是指包含自身属性和子节点在内的实例, 是更明确的指向. >> 有点像面向对象语言里的类和实例: >> 我们可以用 tag -- 比如 ul 来定义无序列表 (类的定义), 然后我们可以用某个 ul 元素来进行 DOM 操作 (实例的操作). >> >> 这点可以参考 document.getElementsByTagName() >> >> 为什么要是 TagName 而不是 ElementName 呢? 因为 tag 是描述一个广义的类别. >> >> 再看看 CSS selector 的定义 http://www.w3.org/TR/CSS21/selector.html >> >>> Matches any E element (i.e., an element of *type* E) >> >> tag 也是 selector 的一部分, 也是用来定义*某些类型的元素.* >> * >> * >> 抱歉, 刚忘了 reply all, 这封是重发. >> * >> * >> Regards, >> >> Chris >> >> -- ねだるな、かちとれ、さすればあたえられん -- >> >> >> 2011/3/31 Shihua Ma <mashihua@gmail.com> >> >>> 就是统一一下认识,我们拿汉堡包来举例:整个汉堡包就是element,最上面和最下面的面包是tag。tag纯粹是markup的概念,element有一些semantic/structure的概念在里面,tag主要还是在markup上.。我在google搜索内联标签,找到约 >>> 1,760,000 条结果 。搜索内联元素,找到约 950,000 >>> 条结果。从上下文来讲,我认为大家都是指element概念。HTML权威指南也不是完全区别对待element和tag的意思,比如第6版4.4.2写道: >>> >>> The <acronym> tag indicates that the enclosed text is an acronym >>>> >>> >>> 其实在上下文中是指elemnent,而不是tag。 >>> >>> 在JS和Dom里元素的概念是比较弱的,更多的概念是Node。比如element中文本内容也表现为TEXT_NODE这种节点。 >>> >>> >>> 2011/3/31 周裕波 <itchina110@gmail.com> >>> >>>> 我觉得标签和元素是在不同场合使用的 >>>> >>>> 1、《HTML权威指南》 请问这个使用什么标签呢? 在这里我觉得使用标签这个词没有什么问题 >>>> 2、关于元素这个词,我觉得更多情况应该是在JS或者在描述DOM相关的时候,使用得更多。 >>>> >>>> >>>> 在 2011年3月30日 下午4:41,Shihua Ma <mashihua@gmail.com>写道: >>>> >>>> 我加入这个社区一个月左右后发现社区里的一些对于成员元素和标签的认识是不够的.用标签和元素分别搜索了这一个月社区的mail >>>>> list,发现只有kenny在使用元素这个单词,大部分人在使用标签这个单词.但是在使用标签时,大多数人是指元素的概念. >>>>> >>>>> 不单单是社区,中文网络上对此的理解也是有偏差的,在Google上搜索:html 标签,找到约 14,000,000 条结果html >>>>> 元素,找到约 6,490,000 >>>>> 条结果.甚至包括有名的w3cshcool也使用div标签这种说法.如果我们这个社区不能统一对标签和元素的认识,那么将会误导中文网络对它们的认识的理解. >>>>> >>>>> 在HTML 4.01 --“on SGML and HTML<http://www.w3.org/TR/REC-html40/intro/sgmltut.html> >>>>> ”3.2.1有对Element的定义: >>>>> >>>>> Each element type declaration generally describes three parts: a start >>>>>> tag, content, and an end tag. >>>>>> >>>>> >>>>> 明确地指出一个元素包含开始标签,,内容和结束标签.所以下面这个代码表示是这是个元素: >>>>> >>>>> <p>foo</p> >>>>> >>>>> 在上面代码里<p>是开始标签,foo是内容,</p>是结束标签。 >>>>> >>>>> 下面这段代码仍然定义了<p>foo</p>这个元素,虽然在代码上看起来是没有结束标签,但是parser仍然创建了一个元素,并给它一个结束标签: >>>>> >>>>> <p>foo >>>>> <p>bar >>>>> >>>>> 有些的元素比如img,br的定义如下: >>>>> >>>>> <!ELEMENT IMG - O EMPTY> >>>>> >>>>> 仍然表示这是个内容为空,闭标签可省略的元素。 >>>>> >>>>> >>>>> 马士华 >>>>> >>>>> Blog: http://www.f2eskills.com/ >>>>> <beijing.josh@gmail.com> >>>>> Twitter:mashihua >>>>> >>>>> >>>> >>>> >>>> -- >>>> 此致 >>>> >>>> Mr. Zhou YuBo - 周裕波 >>>> >>>> 邮件:itchina110@gmail.com >>>> >>>> >>> >> >
Received on Saturday, 9 April 2011 05:52:39 UTC