2015-05-19 40 views
1

有没有办法使用$('...')。load('url selector')选择文本节点?例如:

<!DOCTYPE html> 
<html> 
    <head><script src="http://code.jquery.com/jquery-2.1.3.min.js"></script></head> 
    <body> 
    <script> 
     $('<h2></h2>').appendTo('body').load('sample.xml rss channel item title:eq(0)'); 
    </script> 
    </body> 
</html> 

此代码将选择<title>元素,但因为浏览器无法识别<title>元素,它什么也不显示。有没有办法只选择<title>元素内的文字?

注:

  • 我不能改变的标记
  • 我知道我可以做到这一点使用$阿贾克斯()或其他方法,我只是想知道是否有可能做同样的东西使用$ .load()

回答

3

我只是想知道,如果这是可以做到使用$ .load()

同样的事情

不,因为您依赖的load的语法需要一个CSS选择器,它只能(在这种情况下)以元素为目标,而不是文本节点。

正如您已经确定的,您需要使用$.ajax来替代,您可以轻松地完成所描述的任务。

+0

我想的很多。你有CSS选择器限制的参考吗?我无法找到任何关于此的文档。 – Trevor

+0

@threed:[CSS选择器规范](http://www.w3.org/TR/css3-selectors/)和/或[jQuery选择器API文档](http://api.jquery.com/category /选择器/)。据我所知,选择器只能定位元素和伪元素,而不是文本节点。 –

相关问题