我有一个jQuery函数,它找到嵌套在ID为#popupForm的容器DIV中的所有图像,查看SRC属性并将其与一个隐藏输入进行比较,该输入具有由服务器端变量创建的值。如果有匹配则呈现一次,它将在图像的SRC上进行替换,hense:
var thisTheme = $("#hiddenTheme").val();
var defaultTheme = "/midway/firstTheme/"
$('#popupForm img').each(function () {
var thisSRC = $(this).attr('src');
if (thisSRC.indexOf(defaultTheme) !== -1) {
var new_src = $(this).attr('src').replace(defaultTheme, thisTheme);
$(this).attr('src', new_src);
}
});
现在这很好但我希望扩展此代码的循环部分(.each部分),这样不仅可以查看容器DIV中的图像,还可以查看所有输入(是的,有些输入具有SRC属性 - 请不要问为什么)
我在想添加像这样的数组
var arrValues = ["#popupForm img", "#popupForm input"];
然后查找每个的选择器部分以包含数组,类似这样的
$(arrValues).each(function () {
有没有人知道我修改代码的最佳方法,到目前为止我尝试过的方法都没有用!
由于
答案 0 :(得分:3)
只需在选择器中使用逗号(类似于CSS):
$('#popupForm img, #popupForm input').each(function () { ... });
答案 1 :(得分:1)
您是否尝试将此行更改为以下内容:
$('#popupForm img, #popupForm input').each(function () {...
希望它有效。
答案 2 :(得分:1)
这是一种扩展包装器的方法:
$('#popupForm img').add('#popupForm input[src!=""]')...
[src!=""]
确保只添加那些具有src属性的输入。
希望这有帮助!