Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Jquery代码转换为纯javascript_Javascript_Jquery_Twitter Bootstrap - Fatal编程技术网

如何将Jquery代码转换为纯javascript

如何将Jquery代码转换为纯javascript,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,我正在使用引导。 我不知道如何在纯javascript中使用它。当我们单击手风琴时,这将打开一个div $(function() { $("#panelTicketsList .list-group-item").on("click", function() { $("#panelTicketsList .list-group-item").removeClass('selected'); $(this).addClass('selected');

我正在使用引导。 我不知道如何在纯javascript中使用它。当我们单击手风琴时,这将打开一个div

$(function() {
    $("#panelTicketsList .list-group-item").on("click", function() {
        $("#panelTicketsList .list-group-item").removeClass('selected');
        $(this).addClass('selected');
        if ($('#panelTicketsList').hasClass('col-md-12')) {
            $('#panelTicketsList').removeClass('col-md-12').addClass('col-md-3');
            $('.panelTicketDetail').removeClass('hide');
        }
     });
});
jsFiddle:

var listGroupItems=document.getElementsByClassName('list-group-item');
对于(j=0;j-1){
元素[i].className=elements[i].className.replace(“col-md-12”、“col-md-3”);
元素[i].className=elements[i].className.replace(“隐藏”、“替换”);
}
}
this.className=this.className+“选定”;
});
}

如果必须支持IE8或IE9等较旧的浏览器,则不能使用诸如forEachclassList等JS功能。相反,您应该使用for循环和className

//将DOM查询保存在变量中以供重用
var panelTicketsList=document.getElementById('panelTicketsList');
var panelTicketsDetails=document.getElementsByClassName('panelTicketDetail');
var listGroupItems=panelTicketsList.getElementsByClassName('list-group-item');
//浏览所有listGroupItems并设置click listener
对于(var i=0;i-1){
//将clas col-md-12替换为col-md-3
panelTicketsList.className=panelTicketsList.className.replace('col-md-12','col-md-3');
//浏览所有panelTicketDetails并删除隐藏类
对于(var k=0;k}
为什么要用Javascript重写此代码?是什么原因导致您出现问题?您尝试过什么?因为我们现在使用的是服务,所以一些后端数据附件不接受页面上的Jquery,所以我们希望将此代码片段转换为纯JS。然后您需要停止使用引导,因为这需要Jquery。或者,可能更明智的做法是,修复与jQuery冲突的任何问题。听起来您并没有真正理解为什么不能使用jQuery。我会更深入地研究这一点,并解决实际问题。我尝试使用它,但它没有做任何事情,调试它,没有显示。正在努力
var list = document.getElementById('panelTicketsList');
var items = document.querySelectorAll("#panelTicketsList .list-group-item");
var detail = document.querySelectorAll(".panelTicketDetail");
items.forEach(function(btn){
    btn.addEventListener("click", function(){
        items.forEach(function(item){ item.classList.remove("selected"); });
        this.classList.add("selected");

        if(list.classList.contains('col-md-12')) {
            list.classList.remove('col-md-12');
            list.classList.add('col-md-3');
            detail.classList.add("hide");
        }

});
var listGroupItems = document.getElementsByClassName('list-group-item');
for (j = 0; j < listGroupItems.length; j++) {
    listGroupItems[j].addEventListener("click", function () {
        var elements = listGroupItems;
        for (i = 0; i < elements.length; i++) {
            if (elements[i].className.indexOf("col-md-12") > -1) {
                elements[i].className = elements[i].className.replace("col-md-12", "col-md-3");
                elements[i].className = elements[i].className.replace("hide", "");
            }
        }

        this.className = this.className + " selected";
    });
}