我必须显示不同的div根据什么搜索词是输入到我的网站。URL将包含输入的搜索词,因此我想我可以检查URL中的字符串,并显示div是否匹配。
对于Doufeu/doufeu部分,div将仅根据第一个项显示。代码在下面-它将只显示doufeu是否在字符串中,而不是Doufeu。为什么?
基于我所读到的here和here,我尝试了下面的代码,并且使用&&而不是\,因为第二个链接解释了第二个条件只有在第一个条件是假的情况下才被读取。我找到了this,并尝试用逗号分隔。不过,没有人对我有用。这就是我现在的处境:
<script type="text/javascript">
$(document).ready(function(){
if ((window.location.href.indexOf("searchTerm=Doufeu" || "searchTerm=doufeu") > -1)){
$("#learn-doufeu").show();
}
else {
$("#ci-guide").show();
}
});
</script>
我知道我可以创造一个新的条件,把豆瓣和豆瓣分开,但肯定有办法用OR来做。
发布于 2013-09-10 16:24:12
您是or
-ing两个字符串在一起,而不是indexOf
的结果。进行两次单独的呼叫:
if (window.location.href.indexOf("searchTerm=Doufeu") != -1 || window.location.href.indexOf("searchTerm=doufeu") != -1)
更好的方法是使用正则表达式。
if (/searchTerm=[Dd]oufeu/.test(window.location.href)) {
// do stuff
}
发布于 2013-09-10 16:27:35
您的代码没有反映您的意图。实际上,您的代码对这两个字符串应用了OR操作,而不是对比较。
将代码更改为
if ( (window.location.href.indexOf("searchTerm=Doufeu") > -1) ||
(window.location.href.indexOf("searchTerm=doufeu") > -1) ){
发布于 2013-09-10 16:28:54
我建议将有条件的陈述分开如下:
if (window.location.href.indexOf("searchTerm=Doufeu") > -1 || window.location.href.indexOf("searchTerm=doufeu") > -1))
这应该允许两种比较,同时将检查保持在一个if中。
https://stackoverflow.com/questions/18724168
复制相似问题