带有原型的第N个子选择器
我正在尝试使用Prototype中的“nth-child(n)”,就像我使用jQuery一样。 代码示例如下……
function myFunction() { $$('div.amfinder-horizontal td:nth-child(1) select').simulate('click'); $$('div.amfinder-horizontal td:nth-child(1) select').simulate('change'); } Event.observe(window,"load",myFunction);
不幸的是,这似乎没有选择元素(因为点击和更改不起作用)。 当我把select的类放在那里时,它确实有用……但是我不能使用这个类,需要通过nth-child来完成它。 我相信:第一个和最后一个工作,但我总共有6个我需要这样做…即使这样,它也不会总是全部6个。
如果有人可以提供一个nth-child的例子以及它如何与Prototype一起工作,那就太好了!
Year Year 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002 2001 2000 1999 1998 1997 1996 1995 1994 1993 1992 1991 1990 1989 1988 1987 1986 1985 Year Make Make Make Make Make Make Make Make Make Make Make Make Make Make Make Make Make Make Make Make Make Make Make Make Make Make Make Make Make Make Make Make Make Model Model Model Model Model Model Model Model Model Model Model Model Model Model Model Model Model Model Model Model Model Model Model Model Model Model Model Model Model Model Model Model Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Sub Model Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Engine Position Position Position Position Position Position Position Position Position Position Position Position Position Position Position Position Position Position Position Position Position Position Position Position Position Position Position Position Position Position Position Position Position
$$()
是返回元素数组的CSS选择器方法
$$('div.amfinder-horizontal td:nth-child(1) select').simulate('click');
将无法工作,因为您无法在arrays上运行模拟
只要你加载了Event.simulate,这应该可以工作
$$('div.amfinder-horizontal td:nth-child(1) select').invoke('simulate','click');
你用过2次。
可能是造成问题的原因。
更改
$$('div.amfinder-horizontal td:nth-child(1) select').simulate('click'); $$('div.amfinder-horizontal td:nth-child(1) select').simulate('change');
至
$('div.amfinder-horizontal td:nth-child(1) select').simulate('click'); $('div.amfinder-horizontal td:nth-child(1) select').simulate('change');
您可以按数组样式选择它们
http://jsbin.com/eDAWaji/1/edit
HTML:
- lista
- lista
- lista
- lista
- lista
JS:
var li = $$('body > ol.myclass li'); li[3].style.background = 'red';