javascript - 在 AJAX 响应数据上使用 jQuery

标签 javascript jquery html

我希望使用 jQuery 来确定当前页面是否已更改上游,如果是,则执行一些操作。

我想通过对 AJAX 调用返回的数据使用 jQuery 选择器来实现此目的(就本问题而言,我的“页面已更改”指标将是“第一个 <h1> 的内容已更改”)。

因此,我发现自己想在 AJAX 返回的 HTML 上使用 jQuery 选择器 get() 。到目前为止,我发现的“最佳”“解决方案”是将数据附加到某个隐藏的 div,并在其上使用选择器,如下所示:

var old_title = $('h1').html();

$.get(url, function(data) {
    $('#hidden_temporary_storage').append(data);
    var new_title = $('#hidden_temporary_storage h1').html();
    if (new_title !== old_title) {
        do_something();
    }
});

这感觉非常错误 - 我会嵌套 html/head/body 标签,并且会出现 id 冲突等问题。

我无法控制上游页面,所以我不能只是“以更方便的格式获取数据”,唉。

最佳答案

你可以这样做:

var x = $('<div>'+data+'</div>').find('h1').html();
// use x as you like

即您无需将返回的数据附加到您的页面即可从其中定义的 HTML 元素获取属性和值。这样就不会出现 id 冲突、多个 head/body 标签等问题。

关于javascript - 在 AJAX 响应数据上使用 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8788979/

相关文章:

javascript - 更新父元素jquery的类

html - Firefox 中的替代样式表未显示在 'View > Page Style' 下

javascript - 我应该将 Javascript/jQuery 文件的链接放在我的 html 文件中的什么位置?

javascript - 如何查看用户是否具有存储在变量中的角色?

javascript - CKEDITOR: "CKEDITOR.plugins.add(' ...,{ init:函数(编辑器)。 ."in this what is "编辑器”。?

javascript - 类型错误 : undefined is not a function when accessing Date methods

php - 当我在 JavaScript 中告诉它时,While 循环不会结束

javascript - 基准测试 WebCrypto 比第三方库慢得多?

javascript - jQuery Slide Toggle 不工作 - 已解决

html - 在基于 div 的表中对齐不均匀的行