问题描述
- 请问代码在两种环境下执行不一样啊?
-
原意是在DW中图片可以在页面中切换,而在chrome中就变成直接跳转到图片了,页面就不存在了。
关键代码如下:
function showPic(whichpic) {
var source = whichpic.getAttribute("href");
var placeholder = document.getElementById("placeholder");
var text = whichpic.getAttribute("title");
var description = document.getElementById("description");
placeholder.setAttribute("src",source);
description.firstChild.nodeValue = text;}
而多添加了些判断就能解决这问题,这是我不理解的地方。
代码如下
function showPic(whichpic) {var source = whichpic.getAttribute("href");
var placeholder = document.getElementById("placeholder");
placeholder.setAttribute("src",source);if (whichpic.getAttribute("title")) {
var text = whichpic.getAttribute("title");
} else {
var text = "";
}
var description = document.getElementById("description");
if (description.firstChild.nodeType == 3) {
description.firstChild.nodeValue = text;
}
return false;
}还望解答,至诚感谢。
解决方案
典型的js hack
IE的getAttribute有bug
http://blog.csdn.net/zxsrendong/article/details/6650516
whichpic.getAttribute("title")
这里判断下避免返回null