5

如果页面的 url 包含某个单词,我需要隐藏一个 div。感谢这个网站,我已经能够成功地找到网址是否包含这个词。此代码有效:

<script type="text/javascript">
if (window.location.href.indexOf("Bar-Ends") != -1) {
alert("your url contains bar ends");
}
</script>

但由于某种原因,隐藏 div 不起作用,如下所示:

<script type="text/javascript">
if (window.location.href.indexOf("Bar-Ends") != -1) {
$("#notBarEnds").hide();
}
</script>

<div id="notBarEnds">this is not bar ends</div>

有人知道这段代码有什么问题吗?非常感谢任何帮助谢谢

4

4 回答 4

12

注意重新排序:

<div id="notBarEnds">this is not bar ends</div>

<script type="text/javascript">
if (window.location.href.indexOf("Bar-Ends") != -1) {
$("#notBarEnds").hide();
}
</script>

或者

<script type="text/javascript">
$(document).ready(function () {
    if (window.location.href.indexOf("Bar-Ends") != -1) {
        $("#notBarEnds").hide();
    }
}
</script>

等待整个文档“准备好”

于 2012-07-11T15:55:35.560 回答
2

尝试:

$(document).ready(function () {
  if (window.location.href.indexOf("Bar-Ends") != -1) {
    $("#notBarEnds").hide();
  }
});

脚本运行时,您的 div 不一定已加载。

于 2012-07-11T15:56:29.210 回答
0

您在构建 HTML 时正在运行内联脚本,在脚本运行时没有div命名#notBarEnds,您需要在文档加载后将其作为函数运行。

于 2012-07-11T15:57:09.243 回答
0

我写它而不检查它,如果不起作用,请更改正则表达式:D

$(document).on('ready', function()
{
    if(window.location.href.match(/Bar\-Ends/i))
        $("#notBarEnds").hide();
});
于 2012-07-11T15:58:31.590 回答