将 类 更改为 jquery
Change classes with jquery
我是 jQuery 的新手,我遇到了与向具有特定 ID 的元素添加和删除 类 有关的问题。这就是我想做的(而且它工作得很好,但我想知道 jQuery-解决方案):
$('#blub').click(function() {
document.getElementById('myelement').classList.toggle("myclass");
});
这是我做的:
$('#blub').click(function() {
$('#myelement').toggleClass('myclass');
});
这可能是一个相当愚蠢的问题,但我就是找不到错误。
编辑:我添加了一个片段,因为语法本身似乎没问题。感谢您到目前为止的帮助:)
$('document').ready(function() {
$('#blub').click(function() {
$('#myelement').toggleClass('myclass');
});
});
#myelement {
fill: red;
}
.myclass {
fill: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="blub" style="border:none; background: none; width:300px; height:100px;">
<svg width="100%" height="100%">
<rect id="myelement" class="myclass" width="300" height="100" />
</svg>
</button>
另一种方式;
$('#blub').click(function() {
if($('#myelement').hasClass('myClass'))
$('#myelement').removeClass('myclass');
else
$('#myelement').addClass('myclass');
});
你做的是正确的,见下面的例子。
$('#blub').click(function() {
$('#myelement').toggleClass('myclass');
});
#myelement {
height: 200px;
width: 200px;
background-color: green;
}
#myelement.myclass {
background-color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="blub">Click</button>
<div id="myelement">
</div>
这里有两个问题:
一个是css,id选择器覆盖样式
解决方案:
#myelement {
fill: red;
}
#myelement.myclass {
fill: blue;
}
在处理 svg 元素时 jquery 本身存在问题 jQuery SVG, why can't I addClass?
解决方案:
$('#blub').click(function() {
$('#myelement')[0].classList.toggle('myclass')
});
我是 jQuery 的新手,我遇到了与向具有特定 ID 的元素添加和删除 类 有关的问题。这就是我想做的(而且它工作得很好,但我想知道 jQuery-解决方案):
$('#blub').click(function() {
document.getElementById('myelement').classList.toggle("myclass");
});
这是我做的:
$('#blub').click(function() {
$('#myelement').toggleClass('myclass');
});
这可能是一个相当愚蠢的问题,但我就是找不到错误。
编辑:我添加了一个片段,因为语法本身似乎没问题。感谢您到目前为止的帮助:)
$('document').ready(function() {
$('#blub').click(function() {
$('#myelement').toggleClass('myclass');
});
});
#myelement {
fill: red;
}
.myclass {
fill: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="blub" style="border:none; background: none; width:300px; height:100px;">
<svg width="100%" height="100%">
<rect id="myelement" class="myclass" width="300" height="100" />
</svg>
</button>
另一种方式;
$('#blub').click(function() {
if($('#myelement').hasClass('myClass'))
$('#myelement').removeClass('myclass');
else
$('#myelement').addClass('myclass');
});
你做的是正确的,见下面的例子。
$('#blub').click(function() {
$('#myelement').toggleClass('myclass');
});
#myelement {
height: 200px;
width: 200px;
background-color: green;
}
#myelement.myclass {
background-color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="blub">Click</button>
<div id="myelement">
</div>
这里有两个问题:
一个是css,id选择器覆盖样式
解决方案:
#myelement { fill: red; } #myelement.myclass { fill: blue; }
在处理 svg 元素时 jquery 本身存在问题 jQuery SVG, why can't I addClass?
解决方案:
$('#blub').click(function() { $('#myelement')[0].classList.toggle('myclass') });