2016-05-27 1 views
0

На странице html с div-reportControlPanel, как показано ниже. Я включил еще один div-reportControlPanel1 как и с другим идентификатором.Содержимое DIV скрыть/показать на основе URL

<div id="reportControlPanel" class="pentaho-rounded-panel-bottom-lr pentaho-shadow"> 
<div id="promptPanel" class="pentaho-rounded-panel-bottom-lr"></div> 
</div> 

<div id="reportControlPanel1" class="pentaho-rounded-panel-bottom-lr pentaho-shadow"> 
<div id="promptPanel" class="pentaho-rounded-panel-bottom-lr"></div> 
</div> 

Здесь Am показать/скрыть основе div's на url утра запускающего.

if(prptName == "css.prpt") 
{ 
alert("if"); 
document.getElementById("reportControlPanel").style.display = 'none'; 
document.getElementById("reportControlPanel1").style.display = 'block'; 
} 

Но, как я, используя тот же подраздел Div- promptPanel под двумя разными div мой контент не загружается должным образом. promptPanel есть pentaho systemdiv. Я пытаюсь получить еще один div, чтобы изменить css для моего prpt.

Спасибо.

+6

Идентификатор предназначен быть уникальным на этой странице. Только один элемент должен иметь идентификатор 'promptPanel'. Чтобы переназначить несколько элементов с использованием общего свойства, вы можете использовать 'class', например' pentaho-rounded-panel-bottom-lr'. –

+0

Можете ли вы использовать jquery? Вы можете добавить идентификатор позже, например: '$ ('.pentaho-rounded-panel-bottom-lr> div'). Attr ('id', 'promptPanel');' в зависимости от того, какой фактически загружен DIV (в зависимости от url) – LordNeo

+0

Атрибут id указывает уникальный идентификатор для элемента HTML (значение должно быть уникальным в документе HTML). – Shrabanee

ответ

0

Чтобы повторить то, что сказал нам Мойше: id должны быть уникальными. В настоящее время у вас есть два идентификатора promptPanel, что означает, что второй, вероятно, никогда не будет вызван. Теперь вы можете использовать javascript, но с минимальным знанием того, как выглядит ваш код, вы можете использовать простой хэш-код + некоторый базовый css.

$(document).ready(function() { 
 
    $('a').click(function() { 
 
    $('#url').html($(this).prop('href')); 
 
    }); 
 
});
div.pentaho-rounded-panel-bottom-lr { 
 
    display: none; 
 
} 
 
div.pentaho-rounded-panel-bottom-lr .pentaho-rounded-panel-bottom-lr { 
 
    display: block; 
 
} 
 
:target { 
 
    display: block !important; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="url"></div> 
 
<a href="#reportControlPanel1">"Open" panel 1</a> 
 
<a href="#reportControlPanel2">"Open" panel 2</a> 
 
<div id="reportControlPanel1" class="pentaho-rounded-panel-bottom-lr pentaho-shadow"> 
 
    <div id="promptPanel" class="pentaho-rounded-panel-bottom-lr"> 
 
    this is some text in the first control panel. 
 
    </div> 
 
</div> 
 

 
<div id="reportControlPanel2" class="pentaho-rounded-panel-bottom-lr pentaho-shadow"> 
 
    <div id="promptPanel" class="pentaho-rounded-panel-bottom-lr"> 
 
    this is some text in the second control panel 
 
    </div> 
 
</div>

+0

На самом деле promptPanel - это идентификатор, используемый pentaho s/w для отображения параметров внутри панели отчетов. Я не должен редактировать этот div id. Мне нужен подобный div для моего prpt (файла), где я хочу внести некоторые изменения css. Css будет указываться в системных файлах penatho по умолчанию, где я могу добавить reportControlPanel1 css. – user3007361

+0

Главное, что мне нужно изменить свойство css, основанное на запуске url am. Я не должен редактировать стандартную панель Div - reportcontrolpanel, которая будет влиять на других пользователей, использующих отчеты pentaho. – user3007361

+0

Если вы попробуете мой пример на полной веб-странице, вы увидите, что местоположение изменяется, когда вы нажимаете на любую из этих двух ссылок, чтобы имитировать местоположение, которое вы вводили по URL-адресу. – Jhecht