我正在切换排 sibling 。当文档准备好时,我写了 .toggle(true) 。见下图。我认为在此函数调用之前,同级行不可用。

 $(document).ready(function() {

       $('tr[@class^=RegText]').hide().children('td');

        list_Visible_Ids = [];
        var idsString, idsArray;

        idsString = $('#myVisibleRows').val();
        idsArray = idsString.split(',');

        $.each(idsArray, function() {
            if (this != "") {
                $(this).siblings('.RegText').toggle(true);
                list_Visible_Ids[this] = 1;
            }
        });



如何解决这个问题?为什么在文档准备好时无法使用 sliblings?

最佳答案

您发布的代码与调试器代码不匹配,您的代码有这个,这是(几乎!)正确的:

$(this).siblings('.RegText').toggle(true);

调试器有这个,这是不正确的:
$(this).siblings(('.RegText').toggle(true));

您需要将您实际调试的任何内容更新为该代码,而不需要额外的括号,否则您将在那里获得一些非常时髦的行为。

Also you need a # 在那里,因为您的调试器显示您没有将哈希标记存储在数组中,这很好。您当前正在调用 $("row10")(查找 <row10> 元素),但您需要的是 $("#row10")(查找 id="row10" 元素),因此请像这样调整您的调用:
$('#' + this).siblings('.RegText').toggle(true);

关于asp.net - .toggle(true) 在 $(document).ready(function()) 中抛出 null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2800045/

10-11 20:29