2015-02-11 4 views
0

Мой вопрос прост.PHP - Если div имеет определенный класс, то

У меня есть следующий код:

<div class="last" 
    <?php 
    if hasClass(last){ 
     echo " style='width:100%;' "; 
    } 
    ?> 
    ></div> 

Я знаю if утверждение неверно, но идея есть. Я хочу знать, как я могу проверить, есть ли у этого div класс .last, а затем echo что-то.

Я искал вокруг, но ничего не работал (не нашел много, хотя).

С уважением.

+0

Вы можете сделать это очень легко с JQuery, если вы нормально с этим я отвечу на ваш вопрос. – Daan

+0

Это не может быть сделано с php, что легко, почти звук невозможно для меня. Вы можете архивировать это с помощью ajax –

+2

@Hudixt ajax не нужен – Daan

ответ

1

Как уже в комментариях сказано, что это возможно с PHP с DOM-парсерами.

Я собираюсь дать вам 2 очень простые решения, которые сэкономят вам много работы:

CSS:

<style> 
.last { 
    width:100%; 
} 
</style> 

JQuery:

<script type="text/javascript"> 
    $(document).ready(function(){ 
    if($('div').hasClass('last')){ 
     $('div').css('width', '100%'); 
    } 
    }); 
</script> 
0

PHP работает на сервере, поэтому он генерирует HTML. Если у вас есть этот класс = «последний», вам не нужно проверять - это часть кода .... жестко закодированная.

Но вы можете иметь некоторую переменную PHP и в зависимости от того, что это место распечатывают класс, а также стиль для этого другого элемента:

<?php 
$print_last = true; 
?> 

... 

    <div <?php if ($print_last) echo 'class="last" '; 
    <?php 
    if ($print_last){ 
     echo " style='width:100%;' "; 
    } 
    ?> 
    ></div> 

Но если вы хотите, чтобы проверить HTML элемент, который вы должны сделать это на клиенте сторона (браузер) из JavaScript и jQuery тоже может быть полезна.

0

Можно проверить, что с помощью PHP, однако это не может быть сделано easliy (вам нужно проанализировать буферный HTML с использованием DOM-анализатора, затем искать divs и т. Д.) ... много Лучшее решение - это сделать с помощью Javascript/jQuery, используя функцию Document.getElementsByClassName().

раствор образца:

var elements = document.getElementsByClassName("last"); 
for(var i = 0; i < elements.length; i++) 
{ 
var element = elements[i]; 
element.style.width = "100%"; 
} 

0

@azhpo Очевидно, что HTML является передним концом языка вы должны передать элементы либо через некоторые кнопки или с помощью запроса AJAX Submit.

  1. С помощью кнопки отправки: выберите имя класса DIV с использованием либо Javascript

    уаг Classname = document.getElementById ("myDIV") имя класса document.getElementById ("myHiddenField") значение = Classname.. ;

    Теперь по нажатию кнопки отправки это будет получить представленных

  2. Использование Ajax: Снова взять имя класса либо с помощью JavaScript/JQuery вар = имя класса JQuery ("# myDiv").атр ("класс"); Теперь запустите АЯКС запрос и отправить имя класса в сценарий

    jQuery.ajax({ 
        url: 'file.php', 
        type: 'POST', 
        data: 'class='+className, 
        success: function(data){//do whatever you want}, 
        error:function(){//do whatever you want} 
    }); 
    
Смежные вопросы