使用javascript设置HTML类名

时间:2012-01-05 20:26:14

标签: javascript html css class

是否可以使用javascript函数调用代替HTML类名,以便可以根据函数的结果设置类?例如,像:

<a class="fSetClass(vName)" ....

将调用名为fSetClass()的函数,并根据与其一起传递的参数vName接收有效的CSS类名。

由于

6 个答案:

答案 0 :(得分:1)

不,不可能在HTML中做你要求的。但是,您可以使用JavaScript在以后添加类。

答案 1 :(得分:1)

如果做得很短的话,就像这样      document.onload = function(){
document.getElementById('your-element-id').className = fSetClass(vname);
}

答案 2 :(得分:0)

不,但你可以做的是使用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");
} 

答案 3 :(得分:0)

只有on*事件处理程序属性被评估为JavaScript代码,其他属性则不是。

如前所述,您必须使用JavaScript正常分配类。假设您有对元素(element)的引用,则必须将该类分配给className [MDN]属性:

element.className = fSetClass(vname);

答案 4 :(得分:0)

如果使用jquery,则可以使用.attr():

设置类
$(document).ready(function() {
  function fSetClass(vName){
     $("#element_id").attr('class', vName);
  }

  fSetClass('className');

});

答案 5 :(得分:-1)

如果使用jQuery,则可以使用addClass函数

$(element).addClass('add-this-class');

如果要改为设置类,请使用attr:

$(element).attr('class','add-this-class');