这是我第一次用perl和vb做任何事情,所以请耐心等待。
我可以比较两个需要匹配的字段,如果不匹配,那么我需要完全隐藏HTML链接。怎么写呢?
这抓住了第一个用户标识
($("#trid").val());
($("#pxuserid").text());
var test = $("#pxuserid").text().indexOf("-");
var username = $("#pxuserid").text().substring(test + 1);
(username);
这会抓取第二个用户标识并将其从全部大写更改为小写。
($("[name=vsvadm]").val());
var str = $("[name=vsvadm]").text("checked", true).val().toLowerCase();
(str);
这些是我需要展示/隐藏的
<div class="pxcontent" id="sarea">
<div class="pxvtab" id="pxform">
<div class="pxvtablinks">
<a href="javascript:act();" rel="#page2">Directories</a>
<a href="javascript:act();" rel="#page5">Accounting</a>
<a href="javascript:act();" rel="#page6">Advanced</a>
<a href="javascript:act();" rel="#page7">Security</a>
我试图让脚本说“如果userid1不等于userid2,那么隐藏第5,6和7页,但只显示第2页,否则继续” 希望我没有混淆任何人,有人可以帮忙!
答案 0 :(得分:1)
为所有<a>
代码添加一个类:
<a href="javascript:act();" class="nav-links" rel="#page2">Directories</a>
<a href="javascript:act();" class="nav-links" rel="#page5">Accounting</a>
<a href="javascript:act();" class="nav-links" rel="#page6">Advanced</a>
<a href="javascript:act();" class="nav-links" rel="#page7">Security</a>
然后检查条件并隐藏它:
if (userid1 != userid2)
$(".nav-links").hide();
注意:这应该在服务器端真正处理,而不是客户端。有经验的用户(现在几乎每个人)都可以使用开发工具访问隐藏的元素。
答案 1 :(得分:0)
假设您想要比较str
和username
..
if(str !== username) $("a").hide();
这会隐藏所有链接,正如您的问题所述,但不应用于阻止用户查看它们。如果你的链接需要安全,那么auth应该在服务器端完成。
此外,你可以摆脱你在perens中包含的所有独立陈述。那些不为任何目的服务。
答案 2 :(得分:-1)
您需要比较字符串,然后循环链接
var username1 = 'username1'
var username2 = 'username2'
// Do compare
if (username1 !== username2) {
// Loop over the links
$.each($('.pxvtablinks a'), function() {
// If it doesn't have a rel attribute equal to '#page2'...
if ($(this).attr('rel') !== '#page2') {
// hide it.
$(this).hide()
}
})
}