回复讨论(解决方案)
方法很多啊,根据条件来选择,如通过class属性,
比如遍历判断其他属性
楼主看看JQ的选择器用法就知道了,有很多形式。其实从本质上来讲,它的原理就象楼上说的是遍历元素并根据它的其它属性来进行判断,但比你自己写方便多了。
当然,也不建议仅仅是因为获取几个对象容易点就使用JQ。有空多看看它的功能,如果能让它在你的页面里发挥较多的作用,使用它的便利和代价之比就会更合适了。
我还忘说一点比较有用的了,就是通过和你要找的对象有关的其它容易找的对象来找你这个对象。呵呵,听来绕口,但其实很好理解,比如:
....
...
假设你想找这里面的LI,没必要遍历所有的document内的元素对象,只要通过它的上级UL所在的上级DIV,因为它有ID名为theforever_csdn,找到它,再找它的UL子对象里的LI子对象就可以了。
这是通过父元素找子元素,类似的,还可以通过兄弟元素找兄弟元素,通过子元素找父元素。多看看DOM方法就行了。
我还忘说一点比较有用的了,就是通过和你要找的对象有关的其它容易找的对象来找你这个对象。呵呵,听来绕口,但其实很好理解,比如:
....
...
假设你想找这里面的LI,没必要遍历所有的document内的元素对象,只要通过它的上级UL所在的上级DIV,因为它有ID名为thefore……
有人知道除了id,之外还能怎么唯一确定一个dom元素么?通过class和父级dom,都没办法。或者我没想到吧。
哎,郁闷呀,没办法唯一确定一个dom元素,通过class和上下级关系,都不能保证肯定是唯一的
哎,郁闷呀,没办法唯一确定一个dom元素,通过class和上下级关系,都不能保证肯定是唯一的
如果支持CSS3:
section:nth-child(1) {} /* 选择第一个 */
section:nth-child(2) {} /* 选择第二个 */
section:nth-child(N) {} /* 选择第N个 */
section:nth-last-child(1) {} /* 选择最后一个 */
section:nth-last-child(2) {} /* 选择倒数第二个 */
section:nth-last-child(N) {} /* 选择倒数第N个 */
第几个子元素都挨个定位得到,怎么就不能保证唯一了?这比用ID都更精准。因为ID其实是可以写同样的好几个的,当然,结果只会找到第一个,但如果你忘了前面写过,后面再写同样ID也不是不可能。
比较复杂,你是需要确定 dom元素 在dom文档树中的位置
而这个位置在 标记处就已经确定了
你可以完全的知道某个dom元素是同名dom元素的第几个,由此序号就可唯一的定位
当然对html的任何增删,都有可能造成这的序号的变动
正因为定位不是很方便,所以才出现了id选择器
所以在规划页面时,适当的设置些id是有利于后期工作的
ID,CLASS,或者节点下标,都可以啊
查看更多关于css样式除了用id选择器以外,可以唯一确定一个dom元素吗_html/css_WEB-ITnose的详细内容...