js判断样式className和增加class删除class的通用代码

添加评论 2010年7月6日

发布一个js判断样式className和增加class删除class的通用代码,部分代码参考prototype.js

<HTML>  
<HEAD>  
<TITLE>testClassName</TITLE>  
</HEAD>  

<BODY>  
<p>&nbsp;</p>
<div id=”cc”></div>
<script type=”text/javascript”>
function BrowserCompatible () {}

BrowserCompatible.hasClassName = function(element, className)
{
    if (!element) return;
    var elementClassName = element.className;
    if (elementClassName.length == 0) return false;
    //用正则表达式判断多个class之间是否存在真正的class(前后空格的处理)
    if (elementClassName == className || elementClassName.match(new RegExp(“(^|\\s)” + className + “(\\s|$)”)))
      return true;
    return false;
}

BrowserCompatible.addClassName = function(element, className)
{
    if (!element) return;
    var elementClassName = element.className;
    if (elementClassName.length == 0)
    {
        element.className = elementClassName;
        return;
    }
    if (elementClassName == className || elementClassName.match(new RegExp(“(^|\\s)” + className + “(\\s|$)”)))
        return;
    element.className = elementClassName + ” ” + className;
}

BrowserCompatible.removeClassName = function(element, className)
{
    if (!element) return;
    var elementClassName = element.className;
    if (elementClassName.length == 0) return;
    if(elementClassName == className)
    {
        element.className = “”;
        return;
    }
    if (elementClassName.match(new RegExp(“(^|\\s)” + className + “(\\s|$)”)))
        element.className = elementClassName.replace((new RegExp(“(^|\\s)” + className + “(\\s|$)”)),” “);
}

function $(id)
{
    return document.getElementById(id);
}
//alert(BrowserCompatible.hasClassName($(“cc”), “cc”));
BrowserCompatible.addClassName($(“cc”), “rr”);
alert($(“cc”).className);
BrowserCompatible.removeClassName($(“cc”), “ee”);
alert($(“cc”).className);
</script>
</BODY>
</HTML>

Share and Enjoy:
  • del.icio.us
  • Facebook
  • TwitThis
  • 百度搜藏
  • 饭否
  • 收客
  • QQ书签
  • 我挖网
  • DigLog
  • 365Key网摘
  • BlinkList
  • blogmarks
  • BlogMemes
  • Blogosphere News
  • Digg
  • Google Bookmarks
  • MyShare
  • POCO网摘
  • Yahoo! Buzz
  • YahooMyWeb
  • Yigg
  1. 还没有评论.想坐沙发?
  1. 还没有 trackbacks
订阅评论