0

ばかげた質問なら最初は申し訳ありませんが、私は本当に解決できない問題に遭遇しました。関数を使用してhtmlファイルをロードしていますがload、問題は、関数を使用してhtmlファイルをロードすると、loadjqueryのセレクターが実際に機能せず、cssでのみ機能することです。

(私はcodeigniterを使用しています)

HTMLをロードする

$('.get_posts').hide().load('stream/load_posts').fadeIn(800);

したがって、このhtml(ビュー)ファイルには次のものが含まれています

<?php if(isset($stream_posts)): ?>
<?php foreach($stream_posts as $sp): ?>
<div id="sp_<?php echo $sp->sid; ?>" class="row stream-posts">
    <div class="span1 stream-thumb">
        <ul class="stream-thumbnails unstyled">
          <li>
            <a href="#" class="stream-thumbnail">
              <img src="http://placehold.it/60x60" alt="">
            </a>
          </li>
        </ul>
    </div>  
    <div class="span5 stream-content">
        <a href="#" class="author"><?php echo $sp->first_name ." ". $sp->last_name; ?></a>
        <p id="stream-text"> 
            <?php echo nl2br(auto_link($sp->text)); ?>
        </p>
    </div>
</div>
<?php endforeach; ?>
<?php endif; ?>

私はcodeigniterを使用しているので、この行<?php echo nl2br(auto_link($sp->text)); ?>で文字列に含まれるURLとメールアドレスを自動的にリンクに変換します。自動リンクがある場合は、それにoembedクラスを追加したいので、次のことを試しました。

$("p.stream-content a").addClass('oembed');

そして、それが機能しない、アンカータグを赤に着色することによって違いのある同じセレクターでcssを試してみました、cssでそれは機能します、私が発見したよりも、私がロードを使用しているため、jqueryセレクター部分は機能していませんphpを介して、jqueryでもクラスを正常に追加します。

誰かが私にこれについてのヒントを教えてもらえますか?

ありがとうございました

4

1 に答える 1

2

のコールバックにクラスを追加してみましたload()か?

$('.get_posts').hide().load('stream/load_posts', function() {
  $("#stream-text a").addClass('oembed');
}).fadeIn(800);

の要素$('p.stream-content...がないため、変更したことに注意してください<p>class="stream-content"

于 2012-07-21T10:47:46.323 に答える