首先很抱歉,如果它是一个愚蠢的问题,但我遇到了一个我无法解决的问题。
我正在使用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添加类。
可以请某人给我一个提示吗?
谢谢
答案 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"
元素