使用jquery,如何搜索一串html代码,例如:
<script type="text/javascript">
alert($('#t','<span id="t">d</span>').html());
</script>
我希望在警报中得到d
,但我得到了未定义......
有谁知道怎么做?
实际上我使用ajax请求来获取页面的html字符串。如果我然后尝试将字符串粘贴到某个标记中,那么当前页面将全部搞砸。所以我想搜索给定的字符串。
答案 0 :(得分:3)
context 参数是jQuery将搜索的 中的上下文。即它将查看该上下文的子元素,但不会查看上下文本身。这有效:
alert($('#t','<span><span id="t">d</span></span>').html());
我不太确定你在那里尝试做什么。您已经拥有该元素,无需搜索它。这个例子可能永远不会应用于任何现实世界的问题。
答案 1 :(得分:0)
如果您正在使用(或可以使用.load()
{{3}}将内容提取到例如元素#target
中:
$( '#target' ).load( 'myfile.html #t' );
这将只获取myfile.html中的元素#t
。
如果出于某种原因你不能使用.load()
,作为最后的手段,你可以从响应中创建jQuery对象并使用它来搜索内容:
$.ajax( 'myfile.html' ).done( function( data ) {
$( data ).find( '#t' ).appendTo( '#target' );
});
如果.filter()
是返回数据中的顶级元素,请使用.find()
代替#t
。