2014-08-30 2 views
0

У меня есть div, который должен быть спрятан с php-скриптом. Вот код, который я написал до сих пор ... но я не получаю точный результат ...Как скрыть div в php с помощью javascript?

<?php 
$s = "2"; 
if($s == "1") 
{ 
echo "empty fr"; 
?> 
<script type="text/javascript">document.getElementById('#ts').style.display = 'none';</script> 
<?php 
} 
?> 
<div id="ts"><label for="terry">Text<input type="checkbox" name="Terry" id="terry" value="1" /></label></div> 
+1

попытка document.getElementById («ц»), идентификатор не имеет «#» – Victory

+0

У вас есть свой сценарий перед элементом, необходимо использовать функцию обратного вызова OnLoad как дом не готов, когда ваш скрипт запущен, и он не может найти элемент, а также не использовать «#» в getElementById –

ответ

2

Заменить

document.getElementById('#ts').style.display = 'none'; 

по

document.getElementById('ts').style.display = 'none'; 
+0

. Я это сделал, но все же его отображение в соответствии с логикой моего кода не должно отображаться на флажке –

+0

. В этом ответе отсутствует половина проблема. Скрытие происходит до загрузки элемента. – Pietu1998

+0

Правда ..Ответ Пиету завершен. – Vincent

0

вы не» t необходимо # в документе.getElementById()

просто используйте это как это

<script type="text/javascript">document.getElementById('ts').style.display = 'none';</script> 
+0

В этом ответе отсутствует половина проблемы. Скрытие происходит до загрузки элемента. – Pietu1998

+0

@ Pietu1998 - вы правы – PravinS

-1

При использовании метода вызова JavaScript getElementById вам не нужно использовать символ #.

Так, просто измените свой призыв к этому:

document.getElementById('ts').style.display = 'none'; 

Хэш символ необходим только для JQuery, так как он использует шипение двигатель для селекторов.

Вы можете узнать больше о вызове метода here.

+0

В этом ответе отсутствует половина проблемы. Скрытие происходит до загрузки элемента. – Pietu1998

2

Здесь есть две проблемы.

Во-первых, предложенный большинством респондентов.

document.getElementById('#ts').style.display = 'none'; 

Здесь не нужно #. Убери это.

document.getElementById('ts').style.display = 'none'; 

Но есть и другое. Вы вызываете этот код до, элемент, который нужно скрыть, загружен, поэтому он не будет работать. Вам придется либо

  • хода в <script> после элемента, чтобы скрыть

    <div id="ts"><label for="terry">Text<input type="checkbox" name="Terry" id="terry" value="1" /></label></div> 
    <?php 
    $s = "2"; 
    if($s == "1") 
    { 
    echo "empty fr"; 
    ?> 
    <script type="text/javascript">document.getElementById('#ts').style.display = 'none';</script> 
    <?php 
    } 
    ?> 
    

    Если код Размещенное весь код в той части, это не должно вызывать каких-либо побочных эффектов поскольку вы не печатаете какой-либо видимый контент в этой части PHP.

  • используйте мероприятие onload.

    <?php 
    $s = "2"; 
    if($s == "1") 
    { 
    echo "empty fr"; 
    ?> 
    <script type="text/javascript"> 
    window.addEventListener("load", function(){ 
        document.getElementById('ts').style.display = 'none'; 
    }); 
    </script> 
    <?php 
    } 
    ?> 
    <div id="ts"><label for="terry">Text<input type="checkbox" name="Terry" id="terry" value="1" /></label></div> 
    

    Эта функция вызывает функцию при загрузке страницы.