0

首先抱歉,如果这是一个愚蠢的问题,但我遇到了一个我无法真正解决的问题。我正在使用该load函数加载一个 html 文件,我的问题是如果我使用该load函数加载 html 文件,那么带有 jquery 的选择器实际上并不能正常工作,只能使用 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 回答