我在html.erb文件上有一个脚本。
简而言之,我在剧本中有这一行
$('img:gt(0)').hide();
我想为img选择器添加动态ID。动态ID是
<%= hrct.id %>
我试过
var imgVar = <%= hrct.id %>;
$('#img_+ imgVar img:gt(0)').hide();
不好。
并且
var imgVar = <%= hrct.id %>;
$('#img_+ (imgVar) img:gt(0)').hide();
不好。
帮助?
编辑:我现在尝试了 $(function(){
var imgVar = <%= hrct.id %>;
$('#img_'+ imgVar +' img:gt(0)').hide(); // to hide all but the first image when page loads
var img = $('#<%= hrct.id %>').children(), l = img.length;
$('#Up, #Down').on('click', function() {
var i = img.index( img.filter(':visible').hide() );
var t = this.id === 'Up' ? ++i : --i;
img.eq( t === l ? 0 : t ).show();
});
});
我已经包含了完整的功能。如果你看看你得到的开发者工具
而不是
$('#img_3 img:gt(0)').hide();
事实上,
$('#img_<%= hrct.id %> img:gt(0)').hide();
给出
$('#img_3 img:gt(0)').hide();
但该功能无法正常工作
答案 0 :(得分:0)
试试这个
var imgVar = <%= "#img_#{hrct.id}" %>;
$(imgVar +' img:gt(0)').hide();
我希望这会有帮助
答案 1 :(得分:0)
更改此行(期待 #img _ )
var img = $('#<%= hrct.id %>').children()
为:
var img = $('#img_<%= hrct.id %>').children()