javascript - jQuery:子项计数 = 0 和 ajax

标签 javascript jquery

我正在开发一个 jQuery,它从服务器获取元素列表,将其附加到元素,然后循环新附加的元素以转换它们(使它们可编辑)。

我在循环方面遇到问题。附加工作正常,所以我有一个元素列表,例如:

<div id="innerModal">
    <label id="exampleTitle">Title :</label>
    <label id="exampleField" class="ftext">Value</label>
</div>

然后我尝试循环:

function makeListEditable(element, type){
    //I checked here that the element sent is well '#innerModal'
    alert($(element).children().length);
    $(element).children().each(function() {

        if( $( this ).is( 'ftext' ) ){
            makeEditable( $( this ), type, '', '' );
        }
    });
}

警报打印“0”。

这个问题从何而来?我该如何修复它?

编辑:这是 makeListEditable 的调用:

getFormOnElement(//Gets the form and appends it
    "getorganisationeditable/"+curOId,
                        "#innerModal"
    );
    makeListEditable('#innerModal');

提前致谢!

最佳答案

由于ajax是异步的,它不会等到元素被追加后才执行makeEditable。由于 ajax 可能不一定已完成,因此该元素没有子元素。将 makeEditable 移至 ajax 调用的成功回调

关于javascript - jQuery:子项计数 = 0 和 ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11082538/

相关文章:

javascript - 仅选择没有子元素的元素,除了子元素是 <wbr></wbr> 的元素

javascript - 通过单击 home.html 页面中的 href img,我想在 page2.html 上显示该 href 的详细信息

javascript - 使用 JavaScript 的 HTML 动画

javascript - tinymce 与 mvc 没有选择器名称称为tinymce-textarea?

javascript - AngularJS 多维数组

javascript - WebOS 在浏览器关闭时重置 LocalStorage?

javascript - 仅添加一个类的单个实例

php - 在 Yii2 查询中结合 GROUP_CONCAT DISTINCT 和 COUNT

java - Struts 2 Jquery 文件上传

javascript - java.lang.StackOverflowError Jquery/Java