我想将以下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)。
答案 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会让你的生活变得轻松
答案 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:我没有验证这一点,所以如果出现问题,有人编辑或在评论中告诉我!