首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用jQuery从HTML字符串中过滤HTML元素

用jQuery从HTML字符串中过滤HTML元素
EN

Stack Overflow用户
提问于 2018-07-11 05:50:05
回答 1查看 276关注 0票数 -1

我正在尝试使用jQuery从一串HTML中过滤出不同的HTML标签。下面是我的代码现在的样子:

代码语言:javascript
复制
$.get("check-in.php", {value: inputValue}).done(function(data) {
  var checkinSuccessStr = $("<p/>", { html: data }).find("#success").html();
  var checkinFailStr = $("<p/>", { html: data }).find("#fail").html();
  var tr = $("<tr/>", { html: data }).find("tr").html();

  console.log(checkinSuccessStr); // >> Success String
  console.log(checkinSuccessStr); // >> Failure String
  console.log(tr); // >> undefined
}

其中check-in.php将呈现以下超文本标记语言:

代码语言:javascript
复制
"<p id='success'>Success String</p>
<p id='fail'>Failure String</p>
<tr><td>Table cell</td><td>Another cell</td></tr>"

在jQuery中获取checkinSuccessStrcheckinFailStr可以很好地工作,但不能获取表行。我曾尝试对生成的tr变量使用$.parseHTML,但没有成功。要从HTML文本中获取<tr>元素(或数组或<tr>形式的元素),需要做些什么?

EN

回答 1

Stack Overflow用户

发布于 2018-07-11 07:10:04

对于解析损坏的表字符串,使用选择器'>',如下所示:

代码语言:javascript
复制
var part_table_str='<tr><td>Table cell</td><td>Another cell</td></tr>';
var cell_counter=0; //only for demonstration
$(part_table_str).find('>').each(function(){
	  console.log('cell '+cell_counter+' => '+$(this).html());
	  cell_counter++;
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

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

https://stackoverflow.com/questions/51274372

复制
相关文章

相似问题

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