我怎样才能隐藏以id" news"开头的div?但也包含一些像" news1" "新闻2"如果URL哈希不包含" news"。
喜欢隐藏someurl.com/#events
。但要显示任何"新闻" div someurl.com/news1
需要常规JS
感谢,
答案 0 :(得分:1)
该脚本尚未经过测试。它执行以下步骤:
将CSS添加到此div以隐藏它。
<script type="text/javascript">
$(document).ready(function () {
if(window.location.href.indexOf("#news") < 0) {
$("div[id^='news']").css('display', 'none');
}
});
</script>
答案 1 :(得分:1)
试试这个: -
$(function(){
var url = window.location.hash;
if(url.indexOf('news') > -1){
$("div[id^='news']").hide();
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="news1">News1</div><br>
<div id="news2">news2</div><br>
<div id="news3">news3</div><br>
<div id="event">event</div><br>
&#13;
更新:(使用纯JavaScript)
(function() {
var url = window.location.hash;
/* for testing set the hash to 'news' */
url='news';
if(url.indexOf('news') > -1){
var bodyDOM = document.body;
bodyDOM.querySelectorAll("[id^='news']").forEach(function(item, index){
item.style.display='none';
});
}
})();
&#13;
<div id="news1">News1</div><br>
<div id="news2">news2</div><br>
<div id="news3">news3</div><br>
<div id="event">event</div><br>
&#13;
答案 2 :(得分:0)
如果你把一个课程放在你想要申请的所有div上,你可以这样做:
$(document).ready(function() {
$('.CLASSNAME').each(function(i) {
if($(this).val().indexOf('WORD_YOURE_LOOKING_FOR') > -1) {
$(this).css('display', 'none');
}
);
});
答案 3 :(得分:0)
你可以像这样访问URL中的哈希:
var hash = window.location.hash;
我不是100%清楚你想做什么。如果你想显示news1 div,你可以这样做:
if(hash == 'news1') {
$('#news1').show();
}
答案 4 :(得分:0)
试试这个:
var hash = window.location.hash;
$('[id^="'+hash+'"').hide();