使用jquery,数组类型id中的值是未定义的
values are undefined in array type ids using jquery
我在关闭色盒后更改图像的src。当img
标签的ID像tabImage
时,它工作正常,但当我将ID更改为tabImage[0]
时,它停止工作。
工作代码如下:
<div class="whBg"><a href="javascript:openIframe('offerImage');">Select Image</a></div>
<form:hidden path="offerImageName" />
<form:hidden path="offerImageRel" />
<form:hidden path="offerImageTitle" />
<form:errors path="offerImage" cssClass="errorInst" />
<img id="offerImages" src="" style="width: 642px; margin:0px 0 0 220px;" />
<input type="hidden" id="returnImageName" />
<input type="hidden" id="returnImageSrc" />
<input type="hidden" id="returnImageRel" />
<input type="hidden" id="returnImageTitle" />
<script>
function openIframe(tabName)
{
$.colorbox({
iframe:true,
href:"imageListFrame",
innerWidth:1000,
innerHeight:500,
onClosed: function() {
$("#"+tabName+"s").attr("src", $("#returnImageSrc").val());
$("#"+tabName+"Name").val($("#returnImageName").val());
$("#"+tabName+"Rel").val($("#returnImageRel").val());
$("#"+tabName+"Title").val($("#returnImageTitle").val());
}
});
}
</script>
当我改变input
和img
的id时,它停止工作。
<div class="whBg"><a href="javascript:openIframe('toursImage',0);">Select Image</a></div>
<input type="hidden" id="toursImageName[0]" />
<input type="hidden" id="toursImageRel[0]" />
<input type="hidden" id="toursImageTitle[0]" />
<img id="toursImages[0]" name="toursImages[0]" src="" style="width: 642px; margin:0px 0 0 220px;" />
<input type="hidden" id="returnImageName" />
<input type="hidden" id="returnImageSrc" />
<input type="hidden" id="returnImageRel" />
<input type="hidden" id="returnImageTitle" />
<script>
function openIframe(tabName,id)
{
$.colorbox({
iframe:true,
href:"imageListFrame",
innerWidth:1000,
innerHeight:500,
onClosed: function() {
$("#"+tabName+"s["+id+"]").attr("src", $("#returnImageSrc").val());
alert($("#"+tabName+"s["+id+"]").attr("src"));
$("#"+tabName+"Name["+id+"]").val($("#returnImageName").val());
$("#"+tabName+"Rel["+id+"]").val($("#returnImageRel").val());
$("#"+tabName+"Title["+id+"]").val($("#returnImageTitle").val());
}
});
}
</script>
我已经仔细检查了returnImageName
, returnImageSrc
等是否得到正确的值。我试图使用jquery访问#toursImages[0]
的值,但我得到undefined
在警报。
必须用''
[]
-括号$("#"+tabName+"Name''["+id+"'']")
From jQuery Docu: LINK
使用任何元字符(如! " # $ %和 ;'()*+,./:;& lt; => ?@[]^ '{|}~)作为名称的文字部分,它必须用两个反斜杠转义:''.
我认为你不能把[
和]
放在id
属性中。
ID和NAME标记必须以字母([a- za -z])开头,后面可以跟着任意数量的字母、数字([0-9])、连字符("-")、下划线("_")、冒号(":")和句点("。")。
查看答案:https://stackoverflow.com/a/79022/863110
尝试替换为下划线(_
),例如:
<input type="hidden" id="toursImageName_0" />
您应该将toursImageName[0]
更改为toursImageName0
。
相关文章:
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- Angular2-TypeError:无法读取属性'Id'(Typescript)中未定义的
- 快速会话 无法设置未定义的属性“id”
- JS在隐藏未定义的值后仅从数组中返回第一个id的值
- "无法读取属性'id'未定义的“;解析工厂中声明的数组时
- 在onChange事件中未定义id
- 未捕获的引用错误: 未定义导出 ID
- Angular JS TypeError:无法读取路由上未定义的属性“id”
- 获取 Firebase 推送对象的 ID 未定义
- 当我尝试获取span的父ID时,我得到了未定义的值
- jQuery 可放置元素 id 未定义
- 数据 ID 一直未定义返回
- 当 ID 从 PHP 变量传递时,JavaScript 中的未定义 ID
- DatePicker:无法设置属性'currentDay'当有多个数组id时,为未定义
- querySelector在尝试访问作为元素ID的数值时返回未定义的字符串
- jQuery中显示id未定义时出错
- 无法获取属性'id'的未定义引用或null引用
- FB ID返回为未定义
- getElementByClassName返回'未定义',但它对Id有效
- 未定义ID/No操作Jquery