所以我有2个div,每个都有n个元素.2个div中有n对元素.每对使用相同的"类".
是否有可能一次删除一对特定的对?我目前正在使用以下代码:
function leaveGroup(id)
{
var e = document.getElementById(id);
var f = $(e).parentNode;
// Remove everything with the same class name of the parent
$('body').removeClass($(f).className);
}
Run Code Online (Sandbox Code Playgroud)
该功能不起作用,我是否错误地使用了类名?谢谢!
可以说我有这样的清单......
<ul>
<li class="one">One</li>
<li class="two">Two</li>
<li class="three">Three</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
......我希望能够在李的家里切换班级......
$( "li" ).click(function() {
$( "li" ).toggleClass( "active" );
});
Run Code Online (Sandbox Code Playgroud)
..所以我想要li除了被点击的那个从未显示为'.active',同时仍然保持'.active'li中的toggleClass能力
所以我想也许我想从任何其他li中删除Class,除了点击的那个.我不知道我怎么能做到这一点......
关于如何实现这样的事情的任何想法?我相信它很容易,但我不知道因为我对jQuery很新
解决了 - 如果有人想看到它......我们去: http ://jsfiddle.net/6jm2s/17/ 也是这个... http://jsfiddle.net/6jm2s/18/
两个答案都很完美.. @jondavidjohn和@hunter谢谢你们......太糟糕了我不能把Checkmark放在两个答案上......但我会让猎人拥有它,因为他的代码更短...... :)
我有一个非常有趣的问题.我正在写一个允许你放大/缩小图像的插件.我有3个按钮:关闭(关闭'窗口'),放大,缩小.放大/缩小按钮也有禁用版本.当您达到最小/最大变焦量时,它会被激活.
如果打开要缩放的图片,则可以看到活动的缩小按钮和禁用的放大按钮(因为我在打开时设置了最大值).当您第一次单击缩小按钮时,放大按钮应该摆脱禁用的类.它适用于Safara,Chrome,Firefox 3.6/4/5,IE8,但不适用于IE7.
放大按钮有一个ID和类,我想强制IE7从元素中删除特定的类.首先,我使用了removeClass(),但它没有用.然后我使用setAttribute(),它适用于IE7的每个浏览器.
这是一个例子.因此,当您打开要缩放的图像时,缩小按钮具有ID ="缩放按钮"和5个类:缩放图标,缩放图标小,缩放按钮,缩放按钮禁用,变焦按钮禁用项.我想删除2个'禁用'类.所以我用这个:
var elementZoomButtonIn = document.getElementById("zoom-button-in");
elementZoomButtonIn.setAttribute("class", "zoom-icon zoom-icon-small zoom-button-in");
Run Code Online (Sandbox Code Playgroud)
我已经尝试在插入非禁用类之前将类设置为空,但是没有用.
这种方法在IE7中运行吗?( - :
感谢你们!
我有以下javascript代码:
$('#s2 a').click(function(){
var cB = $(this);
var f = parseInt(cB.attr('data-f'));
var r = parseInt(cB.attr('data-r'));
var c = parseInt(cB.attr('data-c'));
if (pA == false && !isClickAllowed(f,r,c)) {
return false;
}
// more stuff comes here
}
Run Code Online (Sandbox Code Playgroud)
这使链接无法点击.这一切都有效.我还想删除悬停效果.这个CSS代码是:
.pc a:hover {
background-color: #FFF;
Run Code Online (Sandbox Code Playgroud)
我认为删除类会像:cB.removeClass('pc');但这不起作用.
有关如何做到这一点的任何建议?
感谢您的时间
- 编辑 -
嗯,我想我明白为什么它不起作用.在文档的顶部我有这个:
$(document).ready(function() {
setScale();
$(window).resize(setScale);
if (!('ontouchstart' in document)) {
$('body').addClass('pc');
}
more code here
Run Code Online (Sandbox Code Playgroud)
.pc a:hover当在PC上打开页面而不是触摸设备(例如iPad)时,这将设置所有链接.我需要禁用这个电脑悬停只在链接不可点击,如:
if (pA == false && !isClickAllowed(f,r,c)) {
return false;
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
即使在RemoveAt()方法之后,我的列表也保持不变,我甚至没有收到错误:
foreach (var row in queryCandidates.ToList())
{
try
{
xString = queryCandidates.ToList().ElementAt(i).District;
int.TryParse(xString, out xNumber);
temp = xNumber.Equals(districtNumber);
System.Diagnostics.Debug.Write(temp+ " ");
System.Diagnostics.Debug.Write(i+" ");
if (temp == false)
{
System.Diagnostics.Debug.WriteLine(" i is:"+i);
//not working even when it should
queryCandidates.ToList().RemoveAt(i);
}
}
catch { }
i++;
if (last == i)
{
System.Diagnostics.Debug.WriteLine("before ending loop: ");
return View(queryCandidates.ToList());
}
}
System.Diagnostics.Debug.WriteLine("after ending the loop: ");
return View(queryCandidates.ToList());
Run Code Online (Sandbox Code Playgroud) 不知道为什么它不起作用,我认为代码很好 - 你能告诉我什么是错的吗?我需要在一段时间间隔之后添加一些课程......
$('.main_menu ul li').mouseenter(function(){
setTimeout(function(){
$(this).children('.sub_menu_main').addClass('opened')
},200);
});
$('.main_menu ul li').mouseleave(function(){
$(this).children('.sub_menu_main').removeClass('opened')
});
Run Code Online (Sandbox Code Playgroud) <div>
<input type="text" placeholder="#" class="error">
<input type="text" placeholder="#" class="error">
</div>
var copylast = $('div').html();
Run Code Online (Sandbox Code Playgroud)
我正在尝试复制DIV但是从copylast变量中删除了类错误(我需要将类保留在原始div中.)
我试过一个字符串替换var copylast = copylast.replace('class="error"', ''); 但它只删除了第一个实例,加上看起来很俗气.removeClass('error')如果可能的话,我更愿意使用.
我创建了下面的代码,它在第一次单击时通过类旋转成功旋转了箭头.
但是在第二次点击时,我希望箭头再次旋转回来.我尝试过,使用else,并在点击时删除类.但这没效果.任何建议或帮助都会很棒!
$(document).ready(function(){
$('#first').click(function(event) {
$(".content.firstArrow").addClass("rotate");
});
$('#second').click(function(event) {
$(".content.secondArrow").addClass("rotate");
});
$('#third').click(function(event) {
$(".content.thirdArrow").addClass("rotate");
});
$('#forth').click(function(event) {
$(".content.forthArrow").addClass("rotate");
});
});
Run Code Online (Sandbox Code Playgroud) 我有一个包含许多div的div.所有这些细分都有许多与特定命名模式匹配的类.我有很多名为"tile1Full","tile1Thumb","BG1Full","BG1Thumb"的课程.所以我的HTML可能看起来像这样:
<div id=parent>
<div>
<div class='tile1Full BG2Full border1'>
</div>
<div>
<div class='tile3ContainerFull border1'>
<div class=tile2x2Full border3></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我想用名称"Thumb"替换名称中"Full"的所有类,结果如下:
<div id=parent>
<div>
<div class='tile1Thumb BG2Thumb border1'>
</div>
<div>
<div class='tile3ContainerThumb border1'>
<div class=tile2x2Thumb border3></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我想出的:
contents.find('div').each(function (i) {
if ($(this).attr('class')!==undefined)
{
$(this).attr('class',$(this).attr('class').replace(/Full/g,'Thumb'));
}
});
Run Code Online (Sandbox Code Playgroud)
问题是,根据Firefox"Inspect Element",当我查看class属性时,新的类名就在那里.但是,当我查看CSS检查器时,实际上并未应用这些类.它不再像预期的那样应用"Full"类,但它也不适用"Thumb"类.
该类所做的一件事是设置div的宽度和高度.div本身不包含任何内容; 只是背景图像,所以由于没有应用新类,它们的宽度和高度均为0,实际上消失了.
为什么属性检查器会报告它们具有所需的类,但CSS检查器是否显示这些类未应用?
谢谢
removeclass ×10
jquery ×8
javascript ×5
addclass ×3
c# ×1
class ×1
css ×1
dom ×1
html ×1
html-lists ×1
list ×1
onclick ×1
removeall ×1
setattribute ×1
timeout ×1
toggleclass ×1