我无法将类添加到我的<;a>;元素,而不是javascript或jquery(删除works!)
似乎这是一个大问题(添加类)。我经历了许多相关的问题,但我无法解决它。下面是javascript代码。删除类很好,但正如您所看到的,我已经测试了多种添加类的方法,但这些方法都不起作用!!我使用firebug,它显示了类的删除,但是添加类时没有发生任何事情。 我将非常感谢你的帮助 我使用的是twitter引导,当我在表中任何一行的链接上悬停时,徽章应该会变成新的链接。它将移除徽章类,但不会将其添加到新链接中我无法将类添加到我的<;a>;元素,而不是javascript或jquery(删除works!),javascript,jquery,twitter-bootstrap,addclass,Javascript,Jquery,Twitter Bootstrap,Addclass,似乎这是一个大问题(添加类)。我经历了许多相关的问题,但我无法解决它。下面是javascript代码。删除类很好,但正如您所看到的,我已经测试了多种添加类的方法,但这些方法都不起作用!!我使用firebug,它显示了类的删除,但是添加类时没有发生任何事情。 我将非常感谢你的帮助 我使用的是twitter引导,当我在表中任何一行的链接上悬停时,徽章应该会变成新的链接。它将移除徽章类,但不会将其添加到新链接中 function setBadgeClass(theElement){ class
function setBadgeClass(theElement){
classes = theElement[0].classList
if (classes.contains("m_m_c5")){
return "badge-inverse"
}
if (classes.contains("m_m_c3")){
return "badge-info"
}
if (classes.contains("i_m_c5")){
return "badge-important"
}
if (classes.contains("i_m_c3")){
return "badge-success"
}
}
function hoverImage(){
$(".hoverImage").hover(
function() {
source = $(this).attr('href');
target = $(this).attr('target');
var image = document.getElementById(target);
image.setAttribute("src", source);
badgeClass = setBadgeClass($(this));
//search for any other element with this badge class
badgeDot = "." + badgeClass;
badgedElement = $(badgeDot);
//remove its two badge classes
badgedElement.removeClass("badge");
badgedElement.removeClass(badgeClass);
//attach the badge class to the theElement
theElement[0].classList.addClass("badge");
theElement[0].classList.addClass(badgeClass);
//theElement.className += " badge";
//theElement.className += " "+badgeClass;
//d.className = d.className + " otherclass";
//theElement.addClass("badge");
//theElement.addClass(badgeClass);
})
}
//as soon as the page is loaded...
window.onload = function (){
hoverImage();
};
(部分)Html如下所示
<table class="table table-bordered table-condensed">
<tbody>
<tr>
<th class="label label-inverse">CMIP5</th>
<td>
<a href="images_001/prec_001_CMIP5_Bias.rcp45.ANN.MultiModel.Max.nc.png" target="iframe_multi_model_5" class="m_m_c5 hoverImage badge badge-inverse"><small>Max </small></a>
<a target="iframe_multi_model_5" href="images_001/prec_001_CMIP5_Bias.rcp45.ANN.MultiModel.Median.nc.png" class="m_m_c5 hoverImage"><small>Med </small></a>
<a target="iframe_multi_model_5" href="images_001/prec_001_CMIP5_Bias.rcp45.ANN.MultiModel.Min.nc.png" class="m_m_c5 hoverImage "><small>Min </small></a>
</td>
</tr>
</tbody>
</table>
<script src="../js/jquery.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script src="../js/linkhover2.js"></script>
CMIP5
我很抱歉!!我刚忘了介绍这个元素!!我用了$(这个)!
谢谢大家花时间回答 为什么有一个名为
setBadgeClass
的函数实际上没有设置任何内容getBadgeClass
更合适。为什么要在classlist->the元素[0]上操作。classlist.addClass(“badge”)代码>只需使用元素[0]。添加类(“徽章”)
在声明源、目标、类等变量时没有“var”是有原因的吗?另外,元素。classList
没有addClass
属性,只是add
@luk2302删除注释第二段中的[0]