我对jquery有点问题。
假设我有以下声明:
var content = $('#details').html();
如何在内容中找到内容?
这就是我尝试过的:
// i want to empty the data inside the id=student
content.find('#student').html('');
但是因为内容是一个字符串......我如何将HTML分配给变量并能够搜索?
更新:
这是我想要实现的目标:
我有一个ajax查询,我需要(#details)结构完好无损。
如果我清空结构,然后换一个不同的ajax查询,我可能需要在#student中做一些替换,因为它被清除了...
例如:
<div id="details">
<div id="student">
<span> {%weeks%} </span>
</div>
<div id="teacher">
<span> {%whatever%} </span>
</div>
</div>
所以有时我需要根据ajax查询清除学生/某个时候的老师,这就是我制作html副本的原因。
答案 0 :(得分:1)
你可以使用选择器
$('#student', content);
答案 1 :(得分:0)
由于ID必须是唯一,您可以直接按ID选择元素,这比创建冗余jQuery对象更有效。
$('#student').html('');
您也可以使用空方法:
$('#student').empty();
请注意,如果您使用的是ajax,则可以使用html
方法更改元素的html内容,而无需删除html内容。
// ...
success: function(data) {
$('#student').html(data);
}
如果要缓存对象,可以使用end
方法返回先前的状态:
var $content = $('#details');
$content
.find('#something').foo().end()
.find('#anotherElement').bar().end()
或者,如果要复制元素,请使用clone
方法:
var $contentCloned = $('#details').clone();
答案 2 :(得分:0)
为什么你不能这样做
$('#details').find('#student').html('')
或更好
$('#student').html('')