我正在尝试从网址中获取参数。
www.x.com/?source=display&zone=lc&topic=cloud
所以,如果主题是'云',那么我想重新订购3个独立的div。
这是我目前在标题中的内容:
<script type="text/javascript">
if (window.location.search.indexOf('topic=cloud') > -1) {
alert('track present');
$(".one").insertAfter(".two");
} else {
$(".two").insertAfter(".three");
alert('track not here');
}
</script>
和html是这样的:
<div class="one">seo</div>
<div class="two">cloud</div>
<div class="three">social</div>
我收到警报,但是当我使用.insertAfter();
我什么都没得到
答案 0 :(得分:2)
如果您也可以使用PHP - 并且根据您的标签,您可以 - 我更喜欢在PHP中执行此操作,因此不需要客户端操作。基本上是:
<?php if (isset($_GET['topic']) && 'cloud' == $_GET['topic']) { ?>
<div class="one"></div>
<div class="two">cloud</div>
<div class="three">social</div>
<?php } else { ?>
<div class="one">seo</div>
<div class="three">social</div>
<div class="two">cloud</div>
<?php } ?>
答案 1 :(得分:2)
准备好文档,您的代码将按照您的期望完成:
<script type="text/javascript">
$(function() { //<-- you are missing this
if (window.location.search.indexOf('topic=cloud') > -1) {
alert('track present');
$(".one").insertAfter(".two");
} else {
$(".two").insertAfter(".three");
alert('track not here');
}
}); // <-- and the closing element
</script>
以下工作正常,试一试,看看它与你的代码的比较(也读Juan Juandes评论,因为他解释了发生了什么):
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
$(function() {
if (window.location.search.indexOf('topic=cloud') > -1) {
alert('track present');
$(".one").insertAfter(".two");
} else {
$(".two").insertAfter(".three");
alert('track not here');
}
});
</script>
</head>
<body>
<div class="one">seo</div>
<div class="two">cloud</div>
<div class="three">social</div>
</body>
</html>
答案 2 :(得分:0)
可能您收到的jQuery&#39; s $
尚未定义。查看FireBug或Web Developer工具进行检查。直到该行,您还没有引用jQuery $
,因此不会抛出任何错误。
可能性1:确保您已在页面上包含jQuery。
如果是本地的那样的东西:
<script type="text/javascript" src="js/jquery.js"></script>
如果使用CDN(托管)版本,则会出现类似情况:
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
可能性2:确保在引用$
之前已包含jQuery。将您的<script>
包含移到脚本的其余部分之上。
可能性3:如果您使用的是其他类似Prototype的库,请直接引用jQuery
(而不是$
):
<script type="text/javascript">
if (window.location.search.indexOf('topic=cloud') > -1) {
alert('track present');
jQuery(".one").insertAfter(".two"); // note jQuery, not $
} else {
jQuery(".two").insertAfter(".three"); // note jQuery, not $
alert('track not here');
}
</script>