扩展jquery.each循环
我有一个jQuery函数,它查找ID为#popupForm的容器DIV中嵌套的所有图像,查看SRC属性并将其与隐藏输入进行比较,隐藏输入的值由服务器端变量创建。渲染后,如果存在匹配,它将替换图像的SRC,hense:扩展jquery.each循环,jquery,Jquery,我有一个jQuery函数,它查找ID为#popupForm的容器DIV中嵌套的所有图像,查看SRC属性并将其与隐藏输入进行比较,隐藏输入的值由服务器端变量创建。渲染后,如果存在匹配,它将替换图像的SRC,hense: var thisTheme = $("#hiddenTheme").val(); var defaultTheme = "/midway/firstTheme/" $('#popupForm img').each(function () { var thisSRC =
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);
}
});
现在这很好,但我希望扩展代码的循环部分(the.each部分),这样它不仅可以查看container DIV中的图像,还可以查看所有输入(是的,一些输入具有SRC属性-请不要问为什么)
我正在考虑添加这样一个数组
var arrValues = ["#popupForm img", "#popupForm input"];
然后改变每个数组的选择器部分以包含数组,类似这样
$(arrValues).each(function () {
有人知道我修改代码的最佳方法吗?到目前为止,我尝试过的方法都不起作用
谢谢只需在选择器中使用逗号(类似于CSS):
只需在选择器中使用逗号(类似于CSS):
您是否尝试将此行更改为以下内容:
$('#popupForm img, #popupForm input').each(function () {...
希望行得通。您是否尝试过将此行更改为以下内容:
$('#popupForm img, #popupForm input').each(function () {...
希望它能起作用。这是一种扩展包装器的方法:
$('#popupForm img').add('#popupForm input[src!=""]')...
[src!=“”]
确保只添加那些具有src属性的输入
希望这有帮助 这是一种扩展包装器的方法:
$('#popupForm img').add('#popupForm input[src!=""]')...
[src!=“”]
确保只添加那些具有src属性的输入
希望这有帮助 我似乎得到了错误“thisSRC未定义”,我认为这是因为并非所有输入都有SRC属性!这是因为输入通常没有来源。您可以将其更改为:
$('#popupForm img,#popupForm input[src!=“”])。每个(函数(){
我似乎都会得到错误“thisSRC未定义”,我认为这是因为并非所有输入都有src属性!这是因为输入通常没有源。您可以将其更改为:$('#popupForm img,#popupForm input[src!=“”).each(function(){
嗨,迈克,我想我在这段对话中为时已晚,但是你得到了你的答案吗?嗨,迈克,我想我在这段对话中为时已晚,但是你得到了你的答案吗?