2016-10-05 5 views
0

Я хочу скрыть определенный элемент с помощью Javascript. В частности, я хочу, чтобы этот элемент отображался только в том случае, если URL-адрес содержит текст «cli». Я попробовал, используя следующий кодСкрыть элемент с помощью JavaScript

var regex = window.location.href; 
 
if(regex.indexOf('cli')>-1){ 
 
$(window).load(function() { 
 
    $("[routerlinkactive]")[1].remove(); 
 
}); 
 
}

В routerlnkactive части работы separatedly. То есть, если нет инструкции if, она всегда удаляется. Но я хочу, чтобы это работало только с этим URL. Как я мог это сделать? Не похоже

работать ни с xxx.html или xxx.html? Кли = 30

Спасибо.

ответ

2

попробуйте использовать функцию indexOf(). Так что-то вроде

var regex = window.location.href; 
if(regex.indexOf('cli')>-1){ //if cli is there 
     $("[routerlinkactive]")[1].hide(); //hide 
    } 

Она возвращает -1, если не найден, и возвращает номер строки позиции, если найден (начиная с 0).

Кроме того, вы должны использовать .hide(), чтобы скрыть, а не удалить.

UPDATE:

, так как вы говорите, его до сих пор не работает, я только что проверил, и это работает:

var regex = "xxxxxx.com?cli=50"; 
if(regex.indexOf('cli')>-1){ 
    alert(true); 
}else{ 
    alert(false); 
} 

Так заменить предупреждение() с функцией скрыть() и убедитесь в том, html правильно ссылается (хотя вы сказали, что все работает нормально?). Значение regex должно быть window.location.href. Попробуйте добавить и удалить «cli», и вы увидите разницу.

+0

не работает. Он делает то же самое с xxxx.html и с xxxx.html? Cli = 30 И я использую remove, поскольку функция hide() JQuery, похоже, не работает – user6375350

+0

, пожалуйста, обновите свой код и оставьте взгляд. –

+0

Я обновил свой ответ, чтобы помочь отлаживать. –

0

Remove() не является правильным выбором, который удалит элемент из DOM.

Использование hide() и show(). Не кажется

$(document).ready(function(){ 
    //Hide your element by default on page load 
    $("[routerlinkactive]")[1].hide(); 
    if(window.location.href.indexOf("cli") > -1) { 
     //If URL has "cli" then show that element. 
     $("[routerlinkactive]")[1].show(); 
    } 
}); 

Reference of indexOf()

Смежные вопросы