15楼#
发布于:2005-07-20 11:39
请你不要咬文嚼字
我说了主要是form控件,但我后面还提到了锚点,你应该知道锚点是什么吧,我说这些完全是为了指出搂主在tr标签不应该用name属性。 如果我说错话了,你这么说我也无可争辩,可你说话的态度实在令人心寒,论坛上面本来就是大家互相帮助的,你让我对这个论坛很失望! |
|
|
16楼#
发布于:2005-07-20 11:39
|
|
|
17楼#
发布于:2005-07-20 11:39
... 虽然 name 的确算不上大部分 object 适用,但 name 是除了 event handler 及 其他几个 attribute 外最通用的 attribute,最重要是不限用于 form。 |
|
|
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!! |
|
|
19楼#
发布于:2005-07-20 11:39
夷,楼上几位都在用1.0.4呀~
|
|
|
20楼#
发布于:2005-07-20 11:39
gzpbx:很好,虽然很吵,但我还是从中学到不少东西! 用table排版很容易出现这样的问题。靠table排版,很难把本来应该在同一结构中的东西安排在一起。layout好像是容易做了,结构却无法组织。 在好的结构中,需要同时改变属性的东西可以放在一个block中,show/hide应该是很容易的事情。 另外,你这种情况可以用XPath。对同一类型的tr或者td设置class,然后通过XPath来得到分类组,也很方便。 不过,我还是主张你先丛设计上考虑非table排版。 |
|
21楼#
发布于:2005-07-20 11:39
能给我们举几个不限于form而且用name又非常合适的常用例子么? |
|
22楼#
发布于:2005-07-20 11:39
XPath 我在google上查了一下,都是有关xml路径相关信息。不知道XPath&Class在我这里怎么用,斑竹可否指点迷津?
|
|
|
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。 |
|
24楼#
发布于:2005-07-20 11:39
|
|
|
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 } IE 不支持这种 xpath 选取方法。 在 ie 你可以在 tr 加入相同 id 现后用 document.getElementsbyName。 另外这个论坛好像是用 table 排版的,但我看也不太 ugly。 |
|
|
26楼#
发布于:2005-07-20 11:39
倒不是说样子ugly,是说做法ugly. 不能把同结构的东西组织在一起,你就不得不一个一个的修改各个成员的display. 如果能放在同一结构,show/hide就是针对一个container的操作,修改维护都很方便. |
|
27楼#
发布于:2005-07-20 11:39
如果IE 不支持这种 xpath 选取方法,那看来还是得用我最初用的那种tr上加上相同的id与name的方式来解决这个问题了!
如果能放在同一结构,show/hide就是针对一个container的操作,修改维护确实都很方便。但是不用table,布局感觉很麻烦。 有些时候我就会将1个大Table拆成3个Table,将中间那个Table show/hide,这样的做法也很ugly~ |
|
|
28楼#
发布于:2005-07-20 11:39
gzpbx:如果IE 不支持这种 xpath 选取方法,那看来还是得用我最初用的那种tr上加上相同的id与name的方式来解决这个问题了! 如果只是 hide/show 操作的话,可以设一个独立 stylesheet,把同一 classname 的 object 设为 display:none。之后便可以透过改变这个 stylesheet 的 disabled property 改变属于这 classname 的 object 的 show/hide 状况。 |
|
|
29楼#
发布于:2005-07-20 11:39
|
|
|