PHP - 如果div有某些类

时间:2015-02-11 13:49:16

标签: php if-statement

我的问题很简单。

我有以下代码:

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

我知道if声明是错误的,但这个想法就在那里。我想知道如何检查此div是否包含.last类,然后是echo

我一直在四处寻找,但没有做任何事情(虽然没有找到太多)。

最好的问候。

4 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

PHP在服务器上运行,因此它生成HTML。如果你有那个班级=&#34;那么&#34;你不需要检查 - 它是代码的一部分......硬编码。

但是你可以拥有一些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也可以提供帮助。

答案 2 :(得分:0)

可以检查使用PHP,但是无法轻松完成(你需要使用DOM解析器解析缓冲的HTML,然后查找div等等)....好多了解决方案是使用Document.getElementsByClassName()函数使用Javascript / jQuery执行此操作。

样本解决方案:

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

答案 3 :(得分:0)

@azhpo 显然,HTML是前端语言,你必须通过一些提交按钮或通过ajax请求传递元素。

  1. 使用提交按钮:使用javascript

    选择div的类名

    var className = document.getElementById(&#34; myDIV&#34;)。className document.getElementById(&#34; myHiddenField&#34;)。value = className;

    现在点击提交按钮,它将被提交

  2. 使用ajax: 再次通过javascript / jquery获取类名 var className = jQuery(&#34; #myDiv&#34;)。attr(&#34; class&#34;); 现在触发ajax查询并将类名发送到脚本

    jQuery.ajax({
       url: 'file.php',
       type: 'POST',
       data: 'class='+className,
       success: function(data){//do whatever you want},
       error:function(){//do whatever you want}
    });