Javascript 如何使用jQuery从字符串中获取HTML元素

Javascript 如何使用jQuery从字符串中获取HTML元素,javascript,jquery,html,Javascript,Jquery,Html,我正在寻找一种从包含HTML的字符串中获取HTML元素的方法。是否可以使用jQuery选择器来执行此操作 我有一个Javascript函数,可以从服务器获取整个页面,但我只需要该页面中的一个元素。只需将html文本包装在$function中即可。像 $("<div>I want this element</div>") 是的,您可以将字符串转换为元素,并从中选择元素。例如: var elements = $(theHtmlString); var found = $('

我正在寻找一种从包含HTML的字符串中获取HTML元素的方法。是否可以使用jQuery选择器来执行此操作


我有一个Javascript函数,可以从服务器获取整个页面,但我只需要该页面中的一个元素。

只需将html文本包装在$function中即可。像

$("<div>I want this element</div>")

是的,您可以将字符串转换为元素,并从中选择元素。例如:

var elements = $(theHtmlString);
var found = $('.FindMe', elements);

如果要从服务器动态加载页面,则可以使用以下表单和

例如:

$('#result').load('ajax/test.html #container');
其中: 结果是加载的页面部分将显示在当前页面上的位置 ajax/test.html是服务器请求发送到的URL 容器是要显示的响应页面上的元素。只会将其加载到元素结果中。响应页面的其余部分将不显示。

只需使用$.filter即可

var html = "<div><span class='im-here'></span></div>"
var found = $(html).filter(".im-here")
您可以使用$.find


你能分享一下你所说的字符串到底是什么意思,它是如何出现的吗?你有点不清楚。字符串是包含单个元素的HTML代码,还是包含多个元素的代码,您希望从中获取一个元素?这称为使用元素作为[上下文]。它是用[.find]在内部实现的,因此编写上述内容的等效方法是:var found=elements.find'.FindMe';在jQ:1.6.2中,这个方法$'selector',$'html string'似乎对我不起作用。请记住,发生这种情况是因为正如您所说的,它正在使用find,而我需要它来使用closest,也许jQ应该修改。问题案例:$'pre',$;。因为它使用find,它只查看子元素,所以它永远找不到任何压力。最简单的解决方案是添加一个包装。这和$theHtmlString.find.FindMe有什么区别?@AlexG:使用元素。findselector与$selector,elements做的相同。我喜欢你告诉我这是可能的。这就解决了我所有的问题。@kingerronous我有一个字符串'parseFloat$assessments\\表。find[name=\'assessments[3][7]\].val | 0+parseFloat$assessments\\表。find[name=\'assessments[4][8]\].val | 0/100',在这里,我想找到涉及哪些元素,然后如何才能得到我有一个字符串'parseFloat$assessments\'表。查找[name=\'assessments[3][7]\].val | | 0+parseFloat$assessments\'表。查找[name=\'assessments[4][8]\].val | 0/100',在这里,我想找出涉及哪些元素,然后我如何才能得到过滤器方法工作,即使您想要的元素恰好是最外层的元素。find方法只查找子体,因此它与最外层的元素不匹配。在本答案的示例中,您无法使用find方法获取div。是的,您可以使用$.find,但前提是您只需要最外层元素中的元素,即本示例中的div。find`方法只匹配子体。在本例中找不到div,但可以对div进行筛选,因为筛选方法匹配任何/所有元素,包括最外层的div。
var html = "<div><span class='im-here'></span></div>"
var found = $(html).filter(".im-here")
$(document).ready(function() {
  var htmlVal = "<div><span class='im-here'>Span Value</span></div>";
  var spanElement = $(htmlVal).find("span");
  var spanVal = spanElement.text();

  alert(spanVal);
});