是否可以将php条件的结果附加到div中?

是否可以将php条件的结果附加到div中?,php,jquery,append,conditional,appendto,Php,Jquery,Append,Conditional,Appendto,我有以下php代码: <?php if ( $hide_all_info == 0 ) { ?> <span class="film_meta_wrap"> <div class="film_meta_title"><?php echo the_title(); ?></div> <div class="film_meta_text"><?php echo $film_meta

我有以下php代码:

<?php if ( $hide_all_info == 0 ) { ?> 
    <span class="film_meta_wrap">
        <div class="film_meta_title"><?php echo the_title(); ?></div>
        <div class="film_meta_text"><?php echo $film_meta_info; ?></div>
    </span>
<?php } elseif ( $hide_all_info == 1 ) { ?>
    <span class="film_meta_wrap"></span>
<?php } ?>
我当前的结果和预期的一样,但不是我需要做的:所有的代码都被追加,不管所说的
if
语句是什么,它也在每个循环项中放置相同的跨距(即,对于单个帖子,不尊重它所在的循环)。这有意义吗?在解析和填充php变量和条件之后,如何让jQuery追加一个span。对于每个循环项。有可能吗?Ajax将是一个可接受的解决方案,只是不知道如何工作

编辑**我修改了建议的代码,以附加
elseif
结果:

<?php if ( $hide_all_info == 0 ) { ?>

    <script>
    var _html = '<span class="film_meta_wrap">'
    +'<div class="film_meta_title"><?php echo the_title(); ?></div>'
    +'<div class="film_meta_text"><?php echo $film_meta_info; ?></div>'
    +'</span>';
    jQuery('.arve-embed-container').append(_html);
    </script>

<?php } elseif ( $hide_all_info == 1 ) { ?>

    <script>
    var _html = '<span class="film_meta_wrap"></span>';
    jQuery('.arve-embed-container').append(_html);
    </script>

<?php } ?>

var_html=''
+''
+''
+'';
jQuery('.arve embed container').append(_html);
var_html='';
jQuery('.arve embed container').append(_html);
您可以执行以下操作:

<?php if ( $hide_all_info == 0 ) {

    echo '<script>';
    $innerHtml = '<span class="film_meta_wrap">
                    <div class="film_meta_title">'.the_title().'</div>
                    <div class="film_meta_text">'.$film_meta_info.'</div>
                </span>';
    echo 'jQuery(function(){ jQuery(".arve-embed-container").append('.$innerHtml.') });';
    echo '</script>'

} elseif ( $hide_all_info == 1 ) { ?>
    <span class="film_meta_wrap"></span>
<?php } ?>

终于成功了

做:


文件
你可以做:

<?php if ( $hide_all_info == 0 ) {

    echo '<script>';
    $innerHtml = '<span class="film_meta_wrap">
                    <div class="film_meta_title">'.the_title().'</div>
                    <div class="film_meta_text">'.$film_meta_info.'</div>
                </span>';
    echo 'jQuery(function(){ jQuery(".arve-embed-container").append('.$innerHtml.') });';
    echo '</script>'

} elseif ( $hide_all_info == 1 ) { ?>
    <span class="film_meta_wrap"></span>
<?php } ?>

终于成功了

做:


文件

我修改了您的代码以包含另一个
.append()
,用于
elseif
结果,但它仍然不起作用。如果你想看一下的话,测试站点就在这里:这里有一堆单引号和双引号,但在我修复它们之后仍然不起作用。最新的编辑实际上使所有的内容都消失了。以前好多了。我在Wordpress中使用这个,所以我已经让jQuery排队了。我的
$hide\u all\u info
变量拉入动态post meta,所以我不能将其设置为0。如果你想看看正在工作的测试站点,它就在这里:这只是我使用的一个样本变量。。您尝试运行更新的代码了吗?我修改了您的代码以包含另一个
.append()
,用于
elseif
结果,但它仍然不起作用。如果你想看一下的话,测试站点就在这里:这里有一堆单引号和双引号,但在我修复它们之后仍然不起作用。最新的编辑实际上使所有的内容都消失了。以前好多了。我在Wordpress中使用这个,所以我已经让jQuery排队了。我的
$hide\u all\u info
变量拉入动态post meta,所以我不能将其设置为0。如果你想看看正在工作的测试站点,它就在这里:这只是我使用的一个样本变量。。你试过运行更新的代码吗?
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <!-- jQuery should be decalred on the top --->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>
<body>
    <div class="arve-embed-container">

    </div>

    <?php 
    $hide_all_info = 0;
    if ( $hide_all_info == 0 ) {
    $innerHtml = '<span class="film_meta_wrap">
                    <div class="film_meta_title">Yo</div>
                    <div class="film_meta_text">Wassup</div>
                </span>';
    echo '<script>';
    echo '$(function(){ $(".arve-embed-container").append(\''.str_replace("\n", "", $innerHtml).'\') });';
    echo '</script>';

    } elseif ( $hide_all_info == 1 ) { ?>
        <span class="film_meta_wrap"></span>
    <?php } ?>



</body>
</html>