jquery加载了html div元素选择器

时间:2012-07-21 10:39:59

标签: jquery codeigniter

首先很抱歉,如果它是一个愚蠢的问题,但我遇到了一个我无法解决的问题。 我正在使用load函数加载一个html文件,我的问题是如果我使用load函数加载html文件,jquery的选择器不能正常工作,只能使用css。

(我使用codeigniter)

例如

加载html

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

所以这个html(view)文件包含以下

<?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添加类。

可以请某人给我一个提示吗?

谢谢

1 个答案:

答案 0 :(得分:2)

您是否尝试在load()的回调中添加课程?

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

请注意,我更改了您的$('p.stream-content...,因为<p>

没有class="stream-content"元素