我想制作一个从数组中随机取一个字符串并将其用作jQuery选择器的javascript,但我不知道如何。
$(document).ready(function() {
var x = Math.floor(Math.random() * 10 + 1);
var array = ["img1", "img2", "img3", "img4", "img5", "img6", "img7", "img8", "img9", "img10", "img11"];
$("id[name^=array[x]]").click(function() {
var src1 = $("id[name^=array[x]]").attr("src");
var src2 = $("#img").attr("src");
if (src1 != src) {
$("#img").attr("src", src1);
}
});
$("id[name^=array[x]]").trigger("click");
})
如果我写"id[name^=array[x]]"
,它就不起作用,它说:
"Uncaught Error: Syntax error, unrecognized expression: id[name^=array[x]]"
答案 0 :(得分:1)
您可以尝试这样: -
$(document).ready(function () {
var x = Math.floor(Math.random() * 10 + 1);
var array = ["img1", "img2", "img3", "img4", "img5", "img6", "img7", "img8", "img9", "img10", "img11"];
var $id = $("[name^=" + array[x] + "]");
console.log($id);
$id.click(function () {
var src1 = $id.attr("src");
var src2 = $("#img").attr("src");
if (src1 != src) {
$("#img").attr("src", src1);
}
});
$id.trigger("click");
});
修改强>
你的选择器在这里是错误的。因此,如果您想选择ID为img1
,img2
等ID的元素,则需要使用: -
var $id = $("[id^=" + array[x] + "]");
如果您想要获取名称为img1
,img2
等的元素,则需要使用: -
var $name = $("[name^=" + array[x] + "]");
请根据您的要求修改代码。
希望这有帮助!