我目前正在尝试使用jQuery操作无序列表,实际上我在无序列表中有一个链接列表,某些用户只能访问某些文件/页面(所有设置服务器端)。
我希望使用一些jQuery从DOM中删除一些列表项,只是因为它更吸引我没有用户点击链接,加载页面然后显示错误,因为它们不够访问。
我已经有了一个对象设置,并且已成功从DOM中删除了一个独立链接,尽管我似乎无法使选择器正确删除列表项。
列出HTML:
<div id="browse" class="bubble">
<blockquote>
<ul id="browses">
<li><a href="browse.php?id=15" class="browse">Access</a><br /></li> //trying to remove
<li><a href="browse.php?id=1" class="browse">Accounts</a><br /></li> //trying to remove
<li><a href="browse.php?id=2" class="browse">Browse's</a><br /></li> //trying to remove
<li><a href="browse.php?id=7" class="browse">Commands</a><br /></li> //trying to remove
<li><a href="browse.php?id=4" class="browse">Content</a><br /></li>
<li><a href="browse.php?id=8" class="browse">Logs</a><br /></li>
<li><a href="browse.php?id=10" class="browse">Sessions</a><br /></li>
<li><a href="browse.php?id=11" class="browse">Settings</a><br /></li> //trying to remove
<li><a href="browse.php?id=12" class="browse">Sites</a><br /></li> //trying to remove
</ul>
</blockquote>
<cite>Browse and manage the currently active sites data</cite>
</div>
到目前为止对象:
Session = function(){
this.init(phpdev_session);
}
$.extend(Session.prototype, {
// object variables
vars: '',
init: function(phpdev_session){
// do initialization here
this.vars = phpdev_session;
},
restrict: function() {
if (this.vars.account_class == '40') {
//access client or less, remove manage another site link and a few browses from #browse ul
//note: its all restricted server side, so its just a presentation layer.
$('a#activate').remove();
$('#browses').remove('li:eq(0)').remove('li:eq(1)').remove('li:eq(2)').remove('li:eq(3)').remove('li:eq(7)').remove('li:eq(8)');
}
}
});
$(document).ready(function() {
var session = new Session(phpdev_session);
session.restrict();
});
答案 0 :(得分:4)
我不认为jQuery是正确的工具(我会在服务器端做),但我会在他们无权访问的项目中添加类服务器端,然后只做
$(".noAccess").remove();
如果您打算这样做,只需将它们移除到服务器端,因为您已准备好代码。