【问题标题】:Get URL Hash use in Jquery to change class of ID在 Jquery 中获取 URL Hash 以更改 ID 的类别
【发布时间】:2014-01-25 02:12:06
【问题描述】:

首先,该 URL 是从另一个页面发布的:

http://www.xxredxiiixx.com/games/

点击链接以作为示例

http://www.xxredxiiixx.com/games/PS4/Knack#42

这是显示 Knack 的最后一个奖杯(#42)

我已经有了这段代码(jQuery)

var hash = location.hash.replace("#","");    
$(hash).removeClass("row").removeClass("row1").addClass("row2");

var 正确地获得了 #42,但我似乎无法更改班级以突出显示所选奖杯。 ID 只是简单地相应编号

<tr class="row<?php echo ($j++ % 2 == 0 ? '' : '1'); ?>" id="<?php echo $xmb; ?>">
<tr class="row" id="42">

任何帮助都会很棒。

.row2 td{
    background-color: #FFF;
}
.row1 td{
    background-color: #242424;
    border-top: 1px solid #121212;
}
.row td{
    background-color: #2a2a2a;
    border-top: 1px solid #121212;
}

var hash = location.hash.replace("#","");
$(hash).removeClass("row").removeClass("row1").addClass("row2");

<tr class="row" id="42">

【问题讨论】:

  • $('42') 似乎是一个无效的选择器。
  • 如果您尝试选择 ID 为 42 的 tr,请不要删除哈希 - $("#42") 是您所需要的 :)

标签: jquery class url hash


【解决方案1】:

您不必在addClassremoveClass 函数中提供点.

$(hash).removeClass("row row1").addClass("row2");

【讨论】:

  • 我已经把点去掉了,还是没有效果。感谢您的快速回复
  • 向我们展示生成的 html,同时告诉我们在哪里有这个 jQuery 代码?
【解决方案2】:

您删除了#,留下了字符串42。然后你尝试使用42 作为选择器,这是错误的。不要删除# 符号。

var hash = location.hash; // "#42"
$(hash).removeClass("row row1").addClass("row2");

你可能想看看这个问题:
What are valid values for the id attribute in HTML

【讨论】:

  • 非常感谢 将其标记为已解决(如果允许的话)
【解决方案3】:

removeClass 是一个仅用于从元素中删除类的函数。无需将其指定为. 类选择器

$(hash).removeClass("row").removeClass("row1").addClass("row2");

【讨论】:

    猜你喜欢
    • 2016-01-03
    • 1970-01-01
    • 1970-01-01
    • 2012-09-29
    • 2018-12-10
    • 1970-01-01
    • 2023-04-06
    • 2016-12-23
    • 2020-03-05
    相关资源
    最近更新 更多