Javascript: location.replace and CSS-classes

Javascript: location.replace and CSS-classes

本文关键字:and CSS-classes replace location Javascript      更新时间:2023-09-26

我想将以下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 类的"示例"在灯箱(确切地说是 Colorbox)内显示 ajax 的内容.html。

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

.HTML

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

简讯

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

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

您可以给 id:

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

在 js 中:

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

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

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

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

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

我确实希望我不想回答这个问题,因为...嗯,这有点奇怪。来了~编辑:我写道:"我不希望我理解这个问题。我的意思是做。大声笑

如果你有多个.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);
}

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