用照片做为label,for特性IE下不起功效

比如:

拷贝编码
编码以下:

<input type="checkbox" id="a"><label for="a"><img src="..."></label>

大家期待获得的实际效果是:点一下“我国金融机构”,复选框会被选上(或撤销)。在FireFox,CHROME等访问器下是沒有难题的,可是IE访问器却不要吃这套。

处理的方法是应用JS:

拷贝编码
编码以下:

window.onload = function(){
if(document.all && navigator.appVersion.indexOf("MSIE")>⑴ && navigator.appVersion.indexOf("Windows")>⑴)
{
var a = document.getElementsByTagName("label");
for(var i=0,j=a.length;i<j;i++){
if(a[i].hasChildNodes && a[i].childNodes.item(0).tagName == "IMG")
{
a[i].childNodes.item(0).forid = a[i].htmlFor;
a[i].childNodes.item(0).onclick = function(){
var e = document.getElementById(this.forid);
switch(e.type){
case "radio": e.checked|=1;break;
case "checkbox": e.checked=!e.checked;break;
case "text": case "password": case "textarea": e.focus(); break;
}
}
}
}
}
}