js 属性操作的注意事项

一、判断方面,在js中有一些东西是不能拿来做判断的,不然一判断,一个挂。

    1、所有的相对路径,都不要拿来做判断;

          比如说:<img />的src 、 href=''等

    2、颜色值也不要拿来做判断

        color: red #f00 rgb(255,0,0)

    3、innerHTML也不要拿来做判断


举个小例子吧

<body>
<img src="img/1.jpg" id="img"/>
</body>
<script>
window.onload = function(){
	var oImg = document.getElementById("img");
	oImg.onclick = function(){
		alert(oImg.src);
	};
};
</script>

上边的代码,将<img />的src弹出来看一下

点击图片后,弹出如下对话框


这么长的路径,真让人崩溃。


二、<div>的浮动

    如果我们想让<div>左浮动,可能会写如下代码:oDiv.style.float = 'left';

    但是如果这么写的话,一些好的浏览器是能认识的,不过,总有例外;

    IE(styleFloat)

    非IE(cssFloat)

    在IE浏览器要写成:oDiv.style.styleFloat = 'left';

    在非IE浏览器要写成:oDiv.style.cssFloat = 'left';

    当然,如果做不了兼容性就换换思路,比如clsaa='left' .left{float:left},用动态class实现。

    


三、注意一下表单元素

    如下代码:

<script>
window.onload = function(){
	var oInp = document.getElementById("inp");
	oInp.onclick = function(){
	    oInp.type = 'checkbox';
	};
};
</script>

<body>
<input  type="button" id="inp"/>
</body>

可以很容易的看出来,这里是做了一个按钮,点击之后按钮变成了复选框。

恩,能实现;但我这也不是闲的没事干;

这里的效果是能实现,但是有三个祖宗不支持 IE6 IE7 IE8.

但如果需求就是让做这个东西,还要兼容这三个祖宗,怎么办?

一点思路:做两个<input />,一个按钮,一个复选框。复选框隐藏,点击按钮,按钮隐藏,复选框显示。ok






猜你喜欢

转载自blog.csdn.net/qq_39125684/article/details/80199307
今日推荐