首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >解析ajax调用后收到的标记?

解析ajax调用后收到的标记?
EN

Stack Overflow用户
提问于 2010-10-03 18:53:28
回答 2查看 257关注 0票数 0

我正在对服务器端函数进行ajax调用,该函数返回仅由两个DIVs组成的html响应,例如

代码语言:javascript
复制
<div id="divOne">text on divOne</div>
<div id="divTwo">text on divTwo</div>

我能否解析标记响应以仅提取DIVs中包含的文本部分?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-03 18:55:24

如果你的success回调,假设它是function(data) {},你可以使用返回的数据作为context来查找,例如:

代码语言:javascript
复制
success: function(data) {
  //if these elements are nested down in a response, in another element
  var combinedText = $("#divOne, #divTwo", data).text();
  //if your response contains *only* these elements
  var combinedText = $(data).text();
  //of again if it contains *only* these elements and you want to filter which
  var combinedText = $(data).filter("#divOne").text();
}

无论您的理想选择器是什么,格式都是$("selector", context)

或者,如果您的响应只包含问题中的内容,并且它们是根级别的元素,则需要在内部.filter() instead...since $("selector", context) is a $(context).find("selector"),它将不会在返回的数据中找到根级别的任何元素。

或者,如果您专门使用.load(),则可以在末尾使用选择器来获取整个元素,如下所示:

代码语言:javascript
复制
$("#something").load("myPage #elementToGet");
票数 3
EN

Stack Overflow用户

发布于 2010-10-03 19:10:15

您可以使用这个正则表达式,它将去掉html标记,只留下所需的数据:

代码语言:javascript
复制
 String noHTMLString = htmlString.replaceAll("\\<.*?>","");

你会得到

代码语言:javascript
复制
inputString.split('\n')  # --> ['Line 1', 'Line 2', 'Line 3']

这与上面的相同,但string模块的函数已弃用,应避免使用:

导入字符串

代码语言:javascript
复制
string.split(inputString, '\n')  # --> ['Line 1', 'Line 2', 'Line 3']

或者,如果希望每行都包含换行顺序(CR、LF、CRLF),请使用带有True参数的拆分线方法:

代码语言:javascript
复制
inputString.splitlines(True)  # --> ['Line 1\n', 'Line 2\n', 'Line 3']

希望这有助于如果你需要更多的帮助,请让我知道。

主键

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3849462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档