如果类存在,用php删除div

时间:2014-08-30 20:14:11

标签: php css class remove-if

我有2个div,如果显示一个class =“goodbye” - 如何用php删除其他div?

或者我必须使用jQuery吗?

<!-- this div should not show if the below class="goodbye" is on the page -->
<div class="hello">
  Hello
</div>

<div class="goodbye">
  goodbye
</div>

5 个答案:

答案 0 :(得分:2)

Javascript,而不是PHP。

if ($('.goodbye').length > 1) {
    $('.hello').hide();
}

答案 1 :(得分:2)

作为服务器端脚本语言的PHP无法操纵DOM。如果您用来评估<div>的显示的条件是在服务器端处理的,那么您可以使用PHP来回显一个<div>或另一个if($hello) { echo "<div class=\"hello\">Hello</div>"; } else { echo "<div class=\"goodbye\">goodbye</div>"; } 。否则,使用jQuery或JavaScript来操作DOM客户端。

回答直接问题。使用PHP删除它:

{{1}}

答案 2 :(得分:0)

您无法使用PHP执行此操作,因为它是服务器端语言。呈现页面后,您将不得不使用客户端语言。是的,你可以使用jQuery(Javascript):

//when to handle..
$("input").click(function() {
    $(".hello").toggle();
    $(".goodbye").toggle();
});

http://jsfiddle.net/kfhb7gzq/

答案 3 :(得分:0)

这是使用兄弟选择器的CSS选项。 If .hello is sibling to .goodbye: display: none;

.goodbye + .hello {
    display: none;
}

<div class="goodbye">
    goodbye
</div>

<div class="hello">
    Hello
</div>

此解决方案需要重新排序元素,因为兄弟选择器不会选择前一个元素。

答案 4 :(得分:-1)

一旦呈现页面,您就无法在PHP中执行此操作...请改用jQuery。有很多不同的方法可以做到这一点。

使用.is(":visible"));查看班级是否可见。

试试这个例子:

$('#clickme').hover(function () {
    $('.hello').hide();
    $('.goodbye').show();
    alert($('.goodbye').is(":visible"));
}, function () {
    $('.goodbye').hide();
    $('.hello').show();
    alert($('.goodbye').is(":visible"));
});

<强> JSFiddle Demo