javascript - AJAX 成功后更改 Element 的 HTML

标签 javascript jquery

我有一个 AJAX 调用,可以查找任何具有 videoReplace 类的元素

  jQuery('.videoReplace').each(function(index) {
    jQuery.ajax({
        type: 'post',
        url: 'http://optinsmart.com/videos.php',
        cache: false,
        data:{
            'video': jQuery( this ).attr('video-source')
        },
        dataType: 'html',
        success:function(data){
            jQuery('#'+jQuery( this ).attr('id')).html(data);       
        },
        error: function(errorThrown){
            console.log(errorThrown);
        }
    });

  });

这是我的 HTML

<h2>Tanya &amp; Matt Ice Cream</h2>
<div id="tanya" id-name="tanya" class="videoReplace" video-source="Opt-in Smart review by Tanya_Matt Ice cream"></div>

理论上,这段代码应该发布到我的视频页面,并且播放的视频会以 html 形式发回。然后我想将 html 添加到我正在使用的 div 中。

它告诉我 jQuery('#'+jQuery( this ).attr('id')) 未定义

有什么建议吗?

最佳答案

您的问题是 success 回调中的 thiseach< 上下文中的 this 不同 回调。

关于javascript - AJAX 成功后更改 Element 的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22274573/

相关文章:

javascript - 如何使用 sinon 模块模拟 axios 请求

php - 将事件类添加到 <li> 标记

javascript - 只播放一次声音

javascript - 未调用路由上的 Ember.js RC1 'model' Hook

javascript - 在离线模式下发送本地资源的http请求

javascript - HTML 元素定位 - 如何在没有 javascript 的情况下让元素始终停留在可见区域

javascript - 如何在 Chart.js 中旋转自定义标记?

javascript - 如何使用 jquery 显示带有 .click 函数的隐藏元素

javascript - 链接上的单击事件,但只有一个

php - 使用 Jquery 事件处理程序循环遍历 PHP 数组