1

我正在尝试制作一个简单的代码。我不太擅长 jQuery,对此我很抱歉。需要有关此代码的帮助,哈哈。好的,所以我要做的是制作一个包含变量的代码,这些变量又是用户名,这就是我到目前为止所拥有的

$(document).ready(function() { 
    var $NLG = $('ul li a.mainmenu'); 
 $NLG.filter(':contains("USERNAME")function(){
     .find('.nlgchat');
         //do nothing');
    else
   .remove('.nlgchat');
    });

是的,我知道这可能是完全错误的,我完全迷失了。但基本上我在这里要做的是,如果 :contains 变量中列出的用户名不做任何事情,否则如果不完全删除元素。有人可以帮助我更多地理解这一点,以及如何执行此代码吗?

4

2 回答 2

2

我相信这就是您正在寻找的:

$(document).ready(function() { 
    if ( ! $('ul li a.mainmenu:contains("USERNAME")').length ) {
        $('.nlgchat').remove();
    }
});

尽管我确信您可以优化该选择器。

于 2012-11-26T01:59:44.427 回答
2

如果我理解正确:

  • 默认隐藏聊天
  • 如果找到匹配 = 显示聊天

jsBin demo

$(document).ready(function() {

  $('.nlgchat').hide(); // or do it rather with CSS...

  var usernames = ['roko','roky','roxon']; // remove 'roko' and no match will be found
  var nameslist = []; // to match against server usernames

  $('ul li a.mainmenu').each(function(){ 
    var name = $(this).text().toLowerCase();
    nameslist.push(name); // dana,roko,john
  });

  $.each(usernames, function(i,v){
     if( nameslist.indexOf( v ) > -1 ){
        $('.nlgchat').show(); 
        return false;
     }else{
        $('.nlgchat').hide();
     }
  });

 });
于 2012-11-26T02:10:37.433 回答