我只是想动态输入正确计算的索引,所以我知道我的变量的值不是问题,但它不起作用:
我的变量'parentIndex'存储我想在下面选择的范围的索引。我测试了这个变量并返回了正确的值。
$(“。DropDownMenu span:eq(”+ parentIndex +“)”)
这不是将变量放入jquery选择器的正确方法吗?我发现的所有例子都使用这种格式,我缺少什么?
(整个函数,对于上下文:)
$("span input:radio").click(function() {
if (($(this).is(":checked")) == true) {
var elem = $(this);
var parent = $(this).parent();
var aunts = parent.parent().children();
var parentIndex = aunts.index(parent);
var position = elem.position();
var topValue = position.top;
topValue = topValue - 9;
$(".DropDownMenu").css({ "top": "-" + topValue + "px" });
$(".DropDownMenu span").css("background-image", "none");
parent.css({ "background": "#f3f1e7 url(assets/images/branding/DropDownArrow.gif) no-repeat right" });
$(".DropDownMenu span:eq("+parentIndex+")").css({ "background": "#f3f1e7 url(assets/images/branding/DropDownArrow.gif) no-repeat right" });
}
});
答案 0 :(得分:1)
尝试这种方式:
$(".DropDownMenu span").eq(parentIndex)
您可以在docs here。
中找到有关详细信息但是,您的工作方式应该是这样,请确保使用FireBug进行测试,并尝试使用不太复杂的功能来测试它的功能。
如果JS有类似sprintf
之类的东西,你可以这样做:$(".DropDownMenu span:eq(%parentIndex)"
但这只是一厢情愿的想法。
答案 1 :(得分:0)
您是否已调试并查看了parentIndex的类型?
尝试这样做:
$('.DropDownMenu span:eq('+ parseInt(parentIndex) +')');