使用javascript设置HTML类名称
是否可以将javascript函数调用替换为HTML类名称,以便可以根据函数的结果设置类?例如,像:使用javascript设置HTML类名称
<a class="fSetClass(vName)" ....
这将调用名为fSetClass(功能),并接收返回基于VNAME它传递的参数一个有效的CSS类名。
感谢
如果你使用jQuery,您可以使用addClass功能
$(element).addClass('add-this-class');
如果你想设置类代替,使用ATTR:
$(element).attr('class','add-this-class');
如果他不使用jQuery? – 2012-01-05 20:30:28
添加一个类!=设置类 – hugomg 2012-01-05 20:32:39
刚刚添加了一个setter – 2012-01-05 20:40:10
不,它不是可能做你在HTML中要求的东西。尽管如此,你可以使用JavaScript在其后添加类。
没有,但你可以做的是使用jQuery获得该项目,然后从中添加或删除的类名称:
HTML
<div class="my-class">My Content</div>
jQuery的
// will produce <div class="my-class added-class">My Content</div>
var addClass = 1;
if(addClass == 1) {
$(".my-class").addClass("added-class");
}
else
{
$(".my-class").removeClass("removed-class");
}
只有on*
事件处理程序属性评估为JavaScript代码,其他属性则不是。
如前所述,您必须使用JavaScript正常分配类。假设你必须将元件(element
)的引用,则必须将类指定给className
[MDN]属性:
element.className = fSetClass(vname);
如果使用jquery,则可以通过使用.attr设置类():
$(document).ready(function() {
function fSetClass(vName){
$("#element_id").attr('class', vName);
}
fSetClass('className');
});
水木清华这样的,如果在一小段路 document.onload = function(){
document.getElementById('your-element-id').className = fSetClass(vname);
}
而那类的名称会在页面的初始化设置一次?然后PHP/C#/ ... – 2012-01-05 20:28:04
不,但你可以使用JavaScript来改变一个元素的类名(尽管你不能像'class =“fSetClass())那样做,并且期望它能够工作。更多的PHP领域真的,而不是JavaScript – 2012-01-05 20:28:26
你的意思是像jQuery的addClass()或removeClass()函数吗? – denolk 2012-01-05 20:28:48