是否可以将php条件的结果附加到div中?
我有以下php代码:是否可以将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 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>