jhsea3do
小狐狸
小狐狸
  • UID5719
  • 注册日期2005-05-05
  • 最后登录2006-01-18
  • 发帖数45
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
15楼#
发布于:2005-07-20 11:39
请你不要咬文嚼字

我说了主要是form控件,但我后面还提到了锚点,你应该知道锚点是什么吧,我说这些完全是为了指出搂主在tr标签不应该用name属性。

如果我说错话了,你这么说我也无可争辩,可你说话的态度实在令人心寒,论坛上面本来就是大家互相帮助的,你让我对这个论坛很失望!
关注WebStandard,关心那些不使用IE的弱势群体!
abc@home
千年狐狸
千年狐狸
  • UID6047
  • 注册日期2005-05-16
  • 最后登录2011-01-01
  • 发帖数1681
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
16楼#
发布于:2005-07-20 11:39
jhsea3do:请你不要咬文嚼字

我说了主要是form控件,但我后面还提到了锚点,你应该知道锚点是什么吧,我说这些完全是为了指出搂主在tr标签不应该用name属性。

如果我说错话了,你这么说我也无可争辩,可你说话的态度实在令人心寒,论坛上面本来就是大家互相帮助的,你让我对这个论坛很失望!
回到原帖

呵呵,谁叫你多口在先,说话又无准:
[quote="jhsea3do"]这是W3C为DOM LV2定义的文档对象接口,我没有看到getElementsByName,呵呵,不知道为什么会有人把它扯到标准上面?[/quote]



WINXP SP2 MAXTHON (UNICODE) PROXOMITRON
abc@home
千年狐狸
千年狐狸
  • UID6047
  • 注册日期2005-05-16
  • 最后登录2011-01-01
  • 发帖数1681
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
17楼#
发布于:2005-07-20 11:39
...
jhsea3do说的基本上是对的,不能算乱说,至少对用法的理解是比较正确的。
name是legitimate attribute,但不是大部分object都可以使用,
可以察看这一页:
http://www.w3.org/TR/html4/index/attributes.html
其中id的相关元素很宽泛,是All elements but BASE, HEAD, HTML, META, SCRIPT, STYLE, TITLE
name则针对性很强,除了form element,只有applet, object, frame, iframe,a,map,param和meta这几个,算不上大部分。

虽然 name 的确算不上大部分 object 适用,但 name 是除了 event handler 及 其他几个 attribute 外最通用的 attribute,最重要是不限用于 form。



WINXP SP2 MAXTHON (UNICODE) PROXOMITRON
gzpbx
狐狸大王
狐狸大王
  • UID1527
  • 注册日期2004-12-29
  • 最后登录2009-06-30
  • 发帖数410
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
18楼#
发布于:2005-07-20 11:39
很好,虽然很吵,但我还是从中学到不少东西!

我本来的目的是,一个Table中有7,8个tr,我需要动态的将其中4,5个tr display=none/block。但是我又不想给每个tr都定义一个id,所以我想到了给这4,5个tr一个共同的name然后用getElementsByName来返回一个数组,这样用循环操作每一个tr方便点,可是后来发祥ie不支持,于是乎才有了这篇文章。我的方法当然不好了,但是现在也没有找到好的方法,除非给每一个tr都加一个id!!
如果你爱上了一朵生长在一颗星星上的花,那么夜间你看着天空就感到甜蜜愉快。所有的星星上都好象开着花。
gzpbx
狐狸大王
狐狸大王
  • UID1527
  • 注册日期2004-12-29
  • 最后登录2009-06-30
  • 发帖数410
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
19楼#
发布于:2005-07-20 11:39
夷,楼上几位都在用1.0.4呀~
如果你爱上了一朵生长在一颗星星上的花,那么夜间你看着天空就感到甜蜜愉快。所有的星星上都好象开着花。
猫头猪
狐狸大王
狐狸大王
  • UID163
  • 注册日期2004-11-25
  • 最后登录2005-12-04
  • 发帖数595
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
20楼#
发布于:2005-07-20 11:39
gzpbx:很好,虽然很吵,但我还是从中学到不少东西!

我本来的目的是,一个Table中有7,8个tr,我需要动态的将其中4,5个tr display=none/block。但是我又不想给每个tr都定义一个id,所以我想到了给这4,5个tr一个共同的name然后用getElementsByName来返回一个数组,这样用循环操作每一个tr方便点,可是后来发祥ie不支持,于是乎才有了这篇文章。我的方法当然不好了,但是现在也没有找到好的方法,除非给每一个tr都加一个id!!
回到原帖

用table排版很容易出现这样的问题。靠table排版,很难把本来应该在同一结构中的东西安排在一起。layout好像是容易做了,结构却无法组织。
在好的结构中,需要同时改变属性的东西可以放在一个block中,show/hide应该是很容易的事情。
另外,你这种情况可以用XPath。对同一类型的tr或者td设置class,然后通过XPath来得到分类组,也很方便。
不过,我还是主张你先丛设计上考虑非table排版。
猫头猪
狐狸大王
狐狸大王
  • UID163
  • 注册日期2004-11-25
  • 最后登录2005-12-04
  • 发帖数595
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
21楼#
发布于:2005-07-20 11:39

虽然 name 的确算不上大部分 object 适用,但 name 是除了 event handler 及 其他几个 attribute 外最通用的 attribute,最重要是不限用于 form。

能给我们举几个不限于form而且用name又非常合适的常用例子么?
gzpbx
狐狸大王
狐狸大王
  • UID1527
  • 注册日期2004-12-29
  • 最后登录2009-06-30
  • 发帖数410
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
22楼#
发布于:2005-07-20 11:39
XPath 我在google上查了一下,都是有关xml路径相关信息。不知道XPath&Class在我这里怎么用,斑竹可否指点迷津?
如果你爱上了一朵生长在一颗星星上的花,那么夜间你看着天空就感到甜蜜愉快。所有的星星上都好象开着花。
猫头猪
狐狸大王
狐狸大王
  • UID163
  • 注册日期2004-11-25
  • 最后登录2005-12-04
  • 发帖数595
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
23楼#
发布于:2005-07-20 11:39
比如说,你想得到所有class属性是"abc"的tr,用这个就可以了:
alltr = document.evaluate("//tr[@class='abc']", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); 
for (var i = 0; i < alltr.snapshotLength; i++) {
     tr = alltr.snapshotItem(i);
     // do something with tr 
}

教程么,看这个也可以:
http://www.w3schools.com/xpath/default.asp

IE里XPath的用法应该大同小异,查查msdn好了。

不过还是强烈建议你考虑非table排版。不然怎么做都很ugly。
abc@home
千年狐狸
千年狐狸
  • UID6047
  • 注册日期2005-05-16
  • 最后登录2011-01-01
  • 发帖数1681
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
24楼#
发布于:2005-07-20 11:39
猫头猪
能给我们举几个不限于form而且用name又非常合适的常用例子么?
回到原帖

meta, a, frame 算不算??



WINXP SP2 MAXTHON (UNICODE) PROXOMITRON
abc@home
千年狐狸
千年狐狸
  • UID6047
  • 注册日期2005-05-16
  • 最后登录2011-01-01
  • 发帖数1681
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
25楼#
发布于:2005-07-20 11:39
猫头猪:比如说,你想得到所有class属性是"abc"的tr,用这个就可以了:
alltr = document.evaluate("//tr[@class='abc']", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); 
for (var i = 0; i < alltr.snapshotLength; i++) {
     tr = alltr.snapshotItem(i);
     // do something with tr 
}

教程么,看这个也可以:
http://www.w3schools.com/xpath/default.asp

IE里XPath的用法应该大同小异,查查msdn好了。

不过还是强烈建议你考虑非table排版。不然怎么做都很ugly。
回到原帖

IE 不支持这种 xpath 选取方法。

在 ie 你可以在 tr 加入相同 id 现后用 document.getElementsbyName。

另外这个论坛好像是用 table 排版的,但我看也不太 ugly。



WINXP SP2 MAXTHON (UNICODE) PROXOMITRON
猫头猪
狐狸大王
狐狸大王
  • UID163
  • 注册日期2004-11-25
  • 最后登录2005-12-04
  • 发帖数595
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
26楼#
发布于:2005-07-20 11:39

IE 不支持这种 xpath 选取方法。

在 ie 你可以在 tr 加入相同 id 现后用 document.getElementsbyName。

另外这个论坛好像是用 table 排版的,但我看也不太 ugly。

倒不是说样子ugly,是说做法ugly.
不能把同结构的东西组织在一起,你就不得不一个一个的修改各个成员的display.
如果能放在同一结构,show/hide就是针对一个container的操作,修改维护都很方便.
gzpbx
狐狸大王
狐狸大王
  • UID1527
  • 注册日期2004-12-29
  • 最后登录2009-06-30
  • 发帖数410
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
27楼#
发布于:2005-07-20 11:39
如果IE 不支持这种 xpath 选取方法,那看来还是得用我最初用的那种tr上加上相同的id与name的方式来解决这个问题了!

如果能放在同一结构,show/hide就是针对一个container的操作,修改维护确实都很方便。但是不用table,布局感觉很麻烦。

有些时候我就会将1个大Table拆成3个Table,将中间那个Table show/hide,这样的做法也很ugly~
如果你爱上了一朵生长在一颗星星上的花,那么夜间你看着天空就感到甜蜜愉快。所有的星星上都好象开着花。
abc@home
千年狐狸
千年狐狸
  • UID6047
  • 注册日期2005-05-16
  • 最后登录2011-01-01
  • 发帖数1681
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
28楼#
发布于:2005-07-20 11:39
gzpbx:如果IE 不支持这种 xpath 选取方法,那看来还是得用我最初用的那种tr上加上相同的id与name的方式来解决这个问题了!

如果能放在同一结构,show/hide就是针对一个container的操作,修改维护确实都很方便。但是不用table,布局感觉很麻烦。

有些时候我就会将1个大Table拆成3个Table,将中间那个Table show/hide,这样的做法也很ugly~
回到原帖

如果只是 hide/show 操作的话,可以设一个独立 stylesheet,把同一 classname 的 object 设为 display:none。之后便可以透过改变这个 stylesheet 的 disabled property 改变属于这 classname 的 object 的 show/hide 状况。



WINXP SP2 MAXTHON (UNICODE) PROXOMITRON
gzpbx
狐狸大王
狐狸大王
  • UID1527
  • 注册日期2004-12-29
  • 最后登录2009-06-30
  • 发帖数410
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
29楼#
发布于:2005-07-20 11:39
abc@home
如果只是 hide/show 操作的话,可以设一个独立 stylesheet,把同一 classname 的 object 设为 display:none。之后便可以透过改变这个 stylesheet 的 disabled property 改变属于这 classname 的 object 的 show/hide 状况。
回到原帖


我也想用这个方法,可惜没有getElementsByClass呀~
如果你爱上了一朵生长在一颗星星上的花,那么夜间你看着天空就感到甜蜜愉快。所有的星星上都好象开着花。
游客

返回顶部