0

jQueryで要素のhtmlを変更し、PHPをインクルードしようとしています。PHPを除けば、すべて正常に動作します。これが私が持っているものです:

$('.gridheader').each(function(index){
    $(this).toggle(function (){
        $('.gridimage:eq('+index+'), .gridinfo:eq('+index+')').slideToggle();
        $('.gridheadinfo:eq('+index+')').html('Click to close <img src="<?php echo base_url() ?>/assets/images/closetab.png" width="10" height="10" />');
    }, function(){
        $('.gridimage:eq('+index+'), .gridinfo:eq('+index+')').slideToggle();
        $('.gridheadinfo:eq('+index+')').html('Click for info <img src="<?php echo base_url() ?>/assets/images/scrollup.png" width="11" height="10" />');
    });
});

私は元々そこに画像を持っています(HTML):

<div class="float-left">Kredible</div><div class="float-right gridheadinfo">Click for info <img src="<?php echo base_url() ?>assets/images/scrollup.png" width="11" height="10" /></div></div>

HTMLは正常に機能しますが、jQueryを使用してHTMLを変更すると、画像が表示されません。変更後にインスペクターで確認しましたが、PHPがHTMLに変換されるのではなくPHPとして表示されますか?

私はかなり困惑しています。

ありがとう。

4

2 に答える 2

2

サーバー側の変数を保存してから使用します。

      var url="<?php echo base_url() ?>"; 
    //this will be parsed by the php interpreter at page load so url will be "localhost/subdomain/" probably. 

        $('.gridheader').each(function(index){
            $(this).toggle(function (){
                $('.gridimage:eq('+index+'), .gridinfo:eq('+index+')').slideToggle();
                $('.gridheadinfo:eq('+index+')').html('Click to close <img src="'+url+'/assets/images/closetab.png" width="10" height="10" />');
    //use it here
            }, function(){
                $('.gridimage:eq('+index+'), .gridinfo:eq('+index+')').slideToggle();
                $('.gridheadinfo:eq('+index+')').html('Click for info <img src="'+url+'/assets/images/scrollup.png" width="11" height="10" />');
            });
        });
于 2012-08-19T23:40:23.247 に答える
0

phpファイルを含めると、サーバー上にある間だけhtmlに影響します。

したがって、phpスクリプトが実行されないため、変更されたコードは何の影響も及ぼしません。

HTMLファイルのコンテンツを読み込んでから、ページに配置することができます。もちろん、その中からSQLを使用することはできません。

于 2012-08-19T23:39:28.500 に答える