- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在使用 QUnit 编写测试,并使用 $.ajax()
从本地运行的开发站点中提取一些测试的 HTML:
add_elements = function(location, selector) {
$.ajax(location, {async: false}).done(function(data) {
stor.$els = $(selector, $.parseHTML(data));
stor.$els.appendTo($('body'));
})
}
在特定位置使用此函数,我将以下 data
传递到我的 .done()
回调:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="/static/css/bootstrap.min.css" rel="stylesheet" media="screen">
</head>
<body>
<div id="app-container" class="container-fluid">
<div class="page-header">
<h1>
<a href="/">Home</a>
<small>Text</small>
</h1>
</div>
<div id="hero-units" class="carousel-inner slide">
<div class="hero-unit home item active">
<h1>
Text text text
</h1>
<p>
More text!
</p>
<div id="app-nav">
<a id="lets-go" class="btn btn-primary btn-large nav-forward" href="/what-up/">
Let's go
</a>
</div>
</div>
</div>
</div>
<script src="/static/js/jquery.js"></script>
<script src="/static/js/underscore.js"></script>
<script src="/static/js/backbone.js"></script>
<script src="/static/js/bootstrap.js"></script>
<script src="/static/js/site-fiddle.js"></script>
<script src="/static/js/site.js"></script>
</body>
</html>
如果 selector
是 #hero-units
或 .hero-unit
,一切正常,但是 $(selector, $.parseHTML (data))
如果 selector
是 #app-container
,则不返回任何内容!我想要 div#app-container
元素的 jQuery
对象。
这就是杀死我的原因:
$.parseHTML(data)
确实包含div#app-container
元素。它只是 $.parseHTML(data)[7]
。 $('#app-container', $.parseHTML(data))
是一个空数组。$('div', $.parseHTML(data))
包括 div#app-container
内的所有 div
,但不是 div#app-container
本身。这是怎么回事?看起来发生的事情是 $
没有查看 $.parseHTML(data)
或 $($.parseHTML (data)))
,还有他们的 child 。
如何从这个 $.parseHTML(data)
获取 div#app-container
的 jQuery
对象?
回答
$(selector, $.parseHTML(data))
风格的查找使用 $.find
。因为我正在寻找这个 jQuery 对象中的顶级元素,所以我应该改用 $.filter
。瞧。
最佳答案
您需要创建一个 DOM 元素来附加 .parseHTML()
的结果首先,它会在 jQuery 遍历它并找到 div#app-container
之前创建一个 DOM 树。 .
var tempDom = $('<output>').append($.parseHTML(str));
var appContainer = $('#app-container', tempDom);
我使用了您的示例并使其正常运行:http://jsfiddle.net/gEYgZ/
.parseHTML()
功能似乎在 <script>
上窒息标签,所以我不得不删除它们。
PS. 显然 <output>
不是真正的 HTML 标签,仅用于示例
关于javascript - jQuery() 在 jQuery.parseHTML() 结果中找不到元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15403600/
是否可以使用 jQuery 读取/解析选定的有效 HTML,以便您可以在其上使用 jQuery 方法,例如 .val() 或 .html()? 以下内容对我不起作用。我尝试过 .html() 和 .v
我正在从 jsonp 调用中获取 json 数据。数据恢复正常。一个数据元素采用字符串形式,其中包含一些 html(“p”标签、“a”标签)。我试图在 jQuery 对话框中输出这个元素(图片描述)。
在我正在处理的应用程序中,我构建了一个表格行的 HTML 字符串,目的是附加到 DOM 中的表格。我想将该字符串另存为 HTML,以便稍后在预输入搜索功能中使用,并且我希望能够搜索节点(行)以进行名称
我有来自远程文件的字符串中的 HTML。现在我想用 jQuery 读取一些元素。外部 HTML 在字符串中 test
jQuery.parseHTML() 生成一个数组。我正在寻找一种将其转换回字符串的方法。这是我的首要问题。 parseHTML() 是将字符串视为 html 的唯一方法吗? 基本上,我将我的字符串解
所以看起来当通过 ajax 检索一些 html 并使用 .html(parseHtml(result,true)); 将其插入页面时,结果中的 javascript 被执行而不考虑文档准备就绪。 我猜
在我的previous question我一直在寻找 $.parseXML 在 BPMN 文件中遇到 script 标签时抛出异常的原因。我虽然这是 jQuery 的问题,但也将其发布在他们的问题跟踪
我有一个 ajax 函数可以从 RSS 提要加载图像,但是得到 .parseHTML 不是函数错误,因为我仍在使用 1.7.2。不幸的是,升级到 1.8 不是一个选项... $.ajax({
我有一行 javascript 在 jQuery 中导致语法错误: $(document).find('.Container').replaceWith($(data).find('.Content'
我正在使用 QUnit 编写测试,并使用 $.ajax() 从本地运行的开发站点中提取一些测试的 HTML: add_elements = function(location, selector) {
由于我对 javascript 和 jquery 缺乏了解,我无法使用 Redactor 解决这个看似简单的问题。 问题:我无法将任何文本粘贴到编辑器所见即所得编辑器中(使用 ctrl v 或使用鼠标
您好,我已经成功地使用 HTMLWorker 使用 asp.NET/C# 转换 gridview。 (1) 我已对生成的表格应用了一些有限的样式,但看不到如何应用表格样式(例如网格线)或应用其他格式样
我正在使用 jquery parseHTML 加载到 DOM 中,然后搜索关键字并在其周围放置一个带有类的 span 标记,然后希望将其返回到字符串中并插入到主字符串中 var mainStr
我有一组简单的实际工作的语句(我已经运行了该代码并且它做了我期望的)如下所示: result_xml = result.jqxhr.responseXML; a = jQuery("data[name
我有以下 jsfiddle 我希望能够将我的自定义组件粘贴到特定的网格中(例如“”) 现在没有 Angular2,我只使用: var el = $.parseHTML(""); this.grid.a
1) $(html_str)如果没有 则有效标签: $(document).ready(function() { var $select = $(' \ hello \ worl
当我使用 $.parseHTML() 解析 html 字符串时,最外面的 div 消失了。 给定 html 字符串: var myCode = '' + ' ' + '
我是一名优秀的程序员,十分优秀!