Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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
Javascript setAttribute不使用JQuery_Javascript_Jquery_Html - Fatal编程技术网

Javascript setAttribute不使用JQuery

Javascript setAttribute不使用JQuery,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试使此代码正常工作: HTML: potch\u off功能运行良好,但我似乎无法设置属性 我不是最精通jQuery和JavaScript的人,但我正在尝试。用这个来添加类: $("#click-no-po").addClass('main-but active'); 或单击此按钮以删除类: $("#click-no-po").removeClass('main-but active'); 不要忘记使用ready函数确保js代码找到ID。尝试切换类 $('a.main-but')。

我正在尝试使此代码正常工作:

HTML:

potch\u off
功能运行良好,但我似乎无法设置属性

我不是最精通jQuery和JavaScript的人,但我正在尝试。

用这个来添加类:

$("#click-no-po").addClass('main-but active');
或单击此按钮以删除类:

$("#click-no-po").removeClass('main-but active');
不要忘记使用ready函数确保js代码找到ID。

尝试切换类

$('a.main-but')。在('click',函数(e)上{
e、 预防默认值();
$(此).toggleClass(“活动”);
});
.active{背景:红色;显示:内联块;}

如果您试图使用jquery,请尝试类似的方法


首先,我在您的测试代码中,只有id为的元素“a”,所以在您的函数中

    function activeSelectPorOff() {
        document.getElementById('click-no-po').setAttribute('class', 'main-but active');
        document.getElementById('click-cpo').setAttribute('class', 'main-but');
    }
document.getElementById('click-cpo')返回一个null元素,当您尝试使用.setAttribute()读/写时,这个trhows和exeption u可以读取null的一个属性

    function activeSelectPorOff() {
        var a=document.getElementById('click-no-po');
        var b=document.getElementById('click-cpo').setAttribute('class', 'main-but');
        try{
          a.setAttribute('class', 'main-but active');
        }catch(e){
          console.log(e)
        }
        try{
          b.try{a.setAttribute('class', 'main-but active');
        }catch(e){
          console.log(e)
        }
    }

这应该避免函数停止,另一种方法是检查a=在尝试设置属性之前为空

控制台错误?这是您应该首先查看的地方。jQuery是否涉及到任何地方?我没看见。门廊是否正常工作?有点愚笨?不要对类使用
setAttribute
。相反,设置
.className
属性,如
document.getElementById('click-no-po')。className='main but active'
try--document.getElementById('click-no-po')。classList.add(“类”);----避免
尝试…捕获
。如果(a)a.setAttribute(…)
,请使用
。谢谢。这是可行的,但几秒钟后,在Chrome的代码视图中,“活动”类消失了。有什么原因吗?
function activeSelectPorOff() {
    $('click-po').toggleClass('main-but');
}
    function activeSelectPorOff() {
        document.getElementById('click-no-po').setAttribute('class', 'main-but active');
        document.getElementById('click-cpo').setAttribute('class', 'main-but');
    }
    function activeSelectPorOff() {
        var a=document.getElementById('click-no-po');
        var b=document.getElementById('click-cpo').setAttribute('class', 'main-but');
        try{
          a.setAttribute('class', 'main-but active');
        }catch(e){
          console.log(e)
        }
        try{
          b.try{a.setAttribute('class', 'main-but active');
        }catch(e){
          console.log(e)
        }
    }