2017-05-06 72 views
0

所以,这有点儿尴尬,但我发现一篇文章有​​人解释了这个问题非常好。但我无法找到它。
所以我在这里问,是否有可能在JS 的页面上隐藏所有div(带ID),让我们通过链接URL显示一个或多个div。比如说:www.mysite.net/games?id=(_the id of the div_)然后它应该显示在网站上,而不是其他人。
隐藏所有DIV exept中的一个链接调用

有点儿什么我想是所有div s的隐藏,只显示由该URL ?id=[id of the div]

回答

0

Sooo。这里的答案是我自己的问题:

的HTML:

<div hidden id="1"> 
    <h1>Hello Manager</h1> 
    <p>What would you like to do today?</p> 
    <button>View Dashboard</button> 
</div> 

<div hidden id="2"> 
    <h1>Hello employee</h1> 
    <p>What would you like to do today?</p> 
    <button>Clock In</button> 
</div> 

<div hidden id="3"> 
    <h1>Hello Owner</h1> 
    <p>What would you like to do today?</p> 
    <button>Test id</button> 
</div> 

和JavaScript:

// Get query parameter 
// Source: https://css-tricks.com/snippets/javascript/get-url-variables/ 
function getQueryParameter(variable) { 
    var query = window.location.search.substring(1); 
    var vars = query.split("&"); 
    for (var i = 0; i < vars.length; i++) { 
    var pair = vars[i].split("="); 
    if (pair[0] == variable) { 
     return pair[1]; 
    } 
    } 
    return (false); 
} 

// Capture the `ID` query parameter from the URL. 
var id = getQueryParameter('id') 
if(id.toLowerCase() === '1') { 
    $('#1').show(); 
} else if(id.toLowerCase() === '2') { 
    $('#2').show(); 
} else if(id.toLowerCase() === '3') { 
    $('#3').show(); 
} 

这里是一个工作示例:http://codepen.io/anon/pen/qmpoKr?id=3

0

不知道如果我有权利问题调用,但是这有点你想要什么?

var divs = document.getElementsByTagName("div"); 

var id = window.location.href.split("=")[1]; 

divs.map(function(div) { 

if(div.id !== id) { div.style['display'] = "none"; } 
else { div.style['display'] = "block"; } 

}); 
+0

不能确定它。因为在所有的编程的东西我可以给你一个例子让我说2 div,id 1和id 2我怎么设置它们?或者是自动的? xD im如此愚蠢 – VitoCraftLP

+0

KInda我想要的是,所有的div都隐藏起来,只显示那个被url调用的id = [id] – VitoCraftLP