Javascript:location.replace和CSS-classes

时间:2011-05-16 15:23:30

标签: javascript html css

我想将以下HTML转换为Javascript函数:

<a class='example' href="../content/flash.html">Click Me</a>

基本上,我想复制通过JS点击链接的效果。

function doStuff()
        {
            location.replace('../content/ajax.html');
        }

以上代码只是重定向到ajax.html。

如何在重定向时通过Javascript激活CSS类“示例”?

我想这样做的原因:CSS-class'example'在灯箱内显示ajax.html的内容(确切地说是Colorbox)。

4 个答案:

答案 0 :(得分:1)

实现这样的结果的最快方法是进入jQuery,特别是它的click()处理程序和ajax load()函数:

HTML

<div id="contentArea"></div>
<a class="example" href="#">Click Me</a>

JQUERY

$(function () {

    $('a.example').click(function () { 
        $('#contentArea').load('../content/flash.html');   
        return false;
    });

});

答案 1 :(得分:0)

有点困惑,但这是一个猜测。

你可以给一个id:

<a id='clickMe' class='example' href="../content/flash.html">Click Me</a>

在js:

document.getElementById("clickMe").className = "example";

答案 2 :(得分:0)

我希望你能找到像这样的东西

document.getElementById('myDiv').className = 'myRedDivClass';

尝试使用jquery会让你的生活变得轻松

http://api.jquery.com/addClass/

答案 3 :(得分:0)

我希望我不会回答这个问题,因为......好吧,这有点奇怪。这里去〜 编辑:我写道:“我不希望我理解这个问题。我的意思是。LOL

如果您只有一个.example课程,则必须使用getElementsByClassName();,但并非所有浏览器都支持此课程。但是,如果您只有一个元素,那么我建议为其分配一个ID,然后使用getElementById();选择该元素。

所有浏览器都不支持getElementsByClassName();的解决方案是:

function getElementsByClassName(classname) {
    if (document.getElementsByClassName) {
        return document.getElementsByClassName(classname);
    } else {
        return (function (classn, document) {
            var classElements = [],
                e = document.getElementsByTagName("*"),
                len = e.length,
                pattern = new RegExp("(^|\\s)" + classn + "(\\s|$)"),
                i, k;

            for (i = 0, k = 0; i<len; i++) {
                if (pattern.test(e[i].className)) {
                    classElements[k] = e[i];
                    k++;
                }
            }
            return classElements;
        })(classname, document);
    }
}

链接部分

所以,我认为最好的方法是使用addEventListener();但是,这是我的个人意见,你可能会发现其他人认为你更适合你需要它。

function doStuff() {
    location.replace('../content/ajax.html');
}

var es = getElementsByClassName('example'),
    len = e.length;

for(i=0; i<len; i++) {
    es[i].addEventListener("click", doStuff, false);
}

XOXO

PS:我没有验证这一点,所以如果出现问题,有人编辑或在评论中告诉我!