Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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 jQuery-根据元素ID删除类_Javascript_Jquery - Fatal编程技术网

Javascript jQuery-根据元素ID删除类

Javascript jQuery-根据元素ID删除类,javascript,jquery,Javascript,Jquery,我正在尝试从具有特定ID的列表中删除.hideme类-单击事件位于另一个列表中。根据您单击的UL.tab,将显示或删除相应的UL.lineup class.hideme。HTML如下所示: <ul class="tab"> <li id="0"> <a href="#">26/08/2011</a> </li> <li id="1">

我正在尝试从具有特定ID的列表中删除.hideme类-单击事件位于另一个列表中。根据您单击的UL.tab,将显示或删除相应的UL.lineup class.hideme。HTML如下所示:

    <ul class="tab">
        <li id="0">
            <a href="#">26/08/2011</a>
        </li>
        <li id="1">
            <a href="#">27/08/2011</a>
        </li>
        <li id="2">
            <a href="#">28/08/2011</a>
        </li>
    </ul>

    <ul id="0" class="lineup hideme">
       <li>...</li>
    </ul>

    <ul id="1" class="lineup hideme">
       <li>...</li>
    </ul>

    <ul id="3" class="lineup hideme">
       <li>...</li>
    </ul>
上面显示的代码也有两个错误:

一个页面上不应该有多个特定Id。例如,有两个foo的id将是无效的HTML

Id和类不应以数字开头

上面显示的代码也有两个错误:

一个页面上不应该有多个特定Id。例如,有两个foo的id将是无效的HTML

Id和类不应以数字开头


首先修复一些HTML/CSS错误。HTML/CSS中的ID值不能以数字开头。另外,请注意,整个页面中只能有一个具有给定id值的对象。你有重复的。那是行不通的。在使用这些ID进行任何选择器操作变得可靠之前,您必须修复这两个问题

如果您有一个ID,并且希望从该特定对象中删除一个类,则可以使用以下方法:

$("#myID").removeClass("classToRemove");
$("#myID .classToRemove").removeClass("classToRemove");
如果试图从该ID的所有子体中删除该类,可以使用以下方法:

$("#myID").removeClass("classToRemove");
$("#myID .classToRemove").removeClass("classToRemove");

这将创建一个选择器对象,该对象包含myID的所有子代,这些子代都有classToRemove,然后将其从每个子代中删除。

首先修复一些HTML/CSS错误。HTML/CSS中的ID值不能以数字开头。另外,请注意,整个页面中只能有一个具有给定id值的对象。你有重复的。那是行不通的。在使用这些ID进行任何选择器操作变得可靠之前,您必须修复这两个问题

如果您有一个ID,并且希望从该特定对象中删除一个类,则可以使用以下方法:

$("#myID").removeClass("classToRemove");
$("#myID .classToRemove").removeClass("classToRemove");
如果试图从该ID的所有子体中删除该类,可以使用以下方法:

$("#myID").removeClass("classToRemove");
$("#myID .classToRemove").removeClass("classToRemove");
这将创建一个选择器对象,该对象包含myID的所有子代,这些子代都有classToRemove,然后将其从每个子代中删除。

尝试:

$("ul.tab > li > a").click(function ()
{
    $("ul#" + $(this).parent().attr('id')).removeClass("hideme");
}
此外,正如Shaz指出的,您不能有重复的ID,或者ID以数字开头。

尝试:

$("ul.tab > li > a").click(function ()
{
    $("ul#" + $(this).parent().attr('id')).removeClass("hideme");
}
$("ul.tab a").click(function ()
{
    $("#" + $(this).parent().attr('id')).removeClass("hideme");
});

同样,正如Shaz所指出的,你不能有一个重复的ID,或者ID是从一个数字开始的。

这个方法可以帮助你,但是你应该考虑ID应该是唯一的。
$('ul.tab a').click(function(){
   $('ul#'+this.parent().attr('id')).toggleClass('hideme');
});
$("ul.tab a").click(function ()
{
    $("#" + $(this).parent().attr('id')).removeClass("hideme");
});

此方法可以帮助您,但您应该考虑ID应该是唯一的。< /P>

$('ul.tab a').click(function(){
   $('ul#'+this.parent().attr('id')).toggleClass('hideme');
});

试着这样做,作为旁注,ID不应该以数字开头

$("ul.tab a").click(function ()
{
    $("#" + $(this).parent().attr('id')).removeClass("hideme");
});

试着这样做,作为旁注,ID不应该以数字开头

$("ul.tab a").click(function ()
{
    $("#" + $(this).parent().attr('id')).removeClass("hideme");
});
我就是这么做的

我就是这么做的

您可以删除ID,只需依赖元素的索引即可:

$('.tab li a').click(
    function(){
        i = $(this).closest('li').index();
        $('ul.lineup').eq(i).toggleClass('hideme');
        return false;
    });

参考资料:

. . . 您可以删除ID,只需依赖元素的索引即可:

$('.tab li a').click(
    function(){
        i = $(this).closest('li').index();
        $('ul.lineup').eq(i).toggleClass('hideme');
        return false;
    });

参考资料:

. . .

目前您有什么jQuery代码?你尝试了什么?以防万一,你不能用数字来开始id/类的名称,只是说你有多个元素具有相同的id:这是不允许的,也是无效的。该id在文档中必须是唯一的。这很简单,但当前您的HTML无效,因为您有非唯一的id。在修复之前,所需的jQuery将无法工作that@Leopic,在html5中,您可以用数字字符等开始id。虽然没有迹象表明发布的代码是否是任何特定版本的html。您现在有什么jQuery代码?你尝试了什么?以防万一,你不能用数字来开始id/类的名称,只是说你有多个元素具有相同的id:这是不允许的,也是无效的。该id在文档中必须是唯一的。这很简单,但当前您的HTML无效,因为您有非唯一的id。在修复之前,所需的jQuery将无法工作that@Leopic,在html5中,您可以用数字字符等开始id。虽然没有迹象表明发布的代码是否是html的任何特定版本。CSS类名可能不会以数字开头:。@jfriend00谢谢:P修改了我的解决方案。失败。。。而且是固定的。有几根电线穿过那里。谢谢@jfriend00CSS类名不能以数字开头:。@jfriend00谢谢:P修改了我的解决方案。失败。。。而且是固定的。有几根电线穿过那里。谢谢@JFriend00干杯!这很有效。。但它比@jfriend00答案更好吗?当我试图在ID和班级名称中添加数字时,出现了完整的学童错误。干杯!这很有效。。但它比@jfriend00答案更好吗?当我尝试向ID和类名添加数字时,出现了完整的school boy错误。这不仅会影响所需的元素,而且如果考虑任何类型的嵌套,这可能会导致级联效应。select需要限制,如果有的话,但是最好不要尝试使用多个相同的id。@Joseph-你是说这个“$+$this.parent.attr'id”?@Joseph-我们应该始终确保
元素ID在页面上是唯一的。看着上面的标记,我的答案是完美的。如果不赞成,请取消我的反对票。我将取消我的投票。整个问题在我看来是一团糟,因为发布的HTML格式不正确。为了让我取消投票,这个问题必须被编辑。这样做之后,&64;约瑟夫:我和我将取消我的投票权。pfft。。。不管怎样。。。它的“an@这将不仅仅影响所需的元素,如果考虑任何类型的嵌套,这可能会导致级联效应。select需要有限的id,但最好不要尝试使用多个相同的id。@Joseph-你是说这个“$+$this.parent.attr'id”?@Joseph-我们应该始终确保元素id在页面上是唯一的。看着上面的标记,我的答案是完美的。如果不赞成,请取消我的反对票。我将取消我的投票。整个问题在我看来是一团糟,因为发布的HTML格式不正确。为了让我取消投票,这个问题必须被编辑。这样做之后,&64;约瑟夫:我和我将取消我的投票权。pfft。。。不管怎样。。。这是一个@