Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过RJS代理访问阵列?_Javascript_Ruby On Rails_Rjs - Fatal编程技术网

Javascript 如何通过RJS代理访问阵列?

Javascript 如何通过RJS代理访问阵列?,javascript,ruby-on-rails,rjs,Javascript,Ruby On Rails,Rjs,在Rails的RJS适配器中 page['id'] // $('id') 访问CSS id page['id'].property // $('id').property 它的特性。但是如何访问数组索引,例如 page.select('ul').value_at(2) // $('id').select('ul')[2] 有没有什么方法可以不用写: page << "$('id').select('ul')[2]" page您无法从RJ访问这样的阵列,但是,以下任何一种都可以

在Rails的RJS适配器中

page['id'] // $('id')
访问CSS id

page['id'].property // $('id').property
它的特性。但是如何访问数组索引,例如

page.select('ul').value_at(2) // $('id').select('ul')[2]
有没有什么方法可以不用写:

page << "$('id').select('ul')[2]"

page您无法从RJ访问这样的阵列,但是,以下任何一种都可以:

page['id']['firstChild']['nextSibling']
page['id'].down(2)
生成:

$("id").firstChild.nextSibling;
$("id").down(2);
当然,最好的解决方案是在第二个元素中添加一些可识别的css类或元素id,然后从rjs文件中进行选择

如果您想坚持使用page.select,您可以在以下位置实现value_(此处称为pick):


避免这个问题的好方法!我仍然不能相信这个相当基本的语法没有被涵盖,但是还好。((小注:2是第三个孩子,所以它应该是
['firstChild']['nextSibling']['nextSibling']
,不是吗?)识别类不能解决这个问题,因为它会生成另一个数组。很抱歉,您需要添加一个id。我已经用“value\u at”的实现编辑了我的答案,您可以在js文件中按自己的方式进行操作。哦,哇,我想我必须在Rails中这样做,但这确实奏效。谢谢!如果我想实现这样一个value\u at函数的话,我应该从哪里开始?
>>> Array.prototype.pick = function(n) { return this[n]; };
function()
>>> ['a', 'b', 'c'].pick(1)
"b"