Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery.sides找不到同级_Jquery_Asp.net_Dom - Fatal编程技术网

jQuery.sides找不到同级

jQuery.sides找不到同级,jquery,asp.net,dom,Jquery,Asp.net,Dom,我维护的web系统有一个非常特殊的问题。在视图中,我想从DOM中的标签字段中获取问题编号。但是,我的代码无法找到label元素 这是脚本部分 $(document).ready(function () { $(function () { var result = $(".answer").click(function () { $(this).editable({

我维护的web系统有一个非常特殊的问题。在视图中,我想从DOM中的标签字段中获取问题编号。但是,我的代码无法找到label元素

这是脚本部分

$(document).ready(function () {
                $(function () {
                var result = $(".answer").click(function () {
                    $(this).editable({
                        className: "",
                        saveUrl: "../api/Results/SaveResults",
                        create: function () {
                            var number = $(this).siblings(".number").text();
                            console.log(number);
                            $(this).editable("option", "questionNumber", number);
                        }
                    });
                });
            });
        });
这是HTML

<div class="questionDiv">
                    <asp:Label ID="questionNumber1" runat="server" CssClass="number"></asp:Label>
                    <asp:TextBox ID="answer1" Wrap="True" runat="server" CssClass="answer" TextMode="MultiLine" Width="100%"
                            Rows="5" MaxLength="2000" Columns="65"></asp:TextBox>
                </div>
等等

如果我在chrome控制台中尝试这些组合,例如:
$(“#answer1”).sibles().text()
,它可以完美地工作

有人知道为什么会这样吗?所有元素都应该像在
document.ready()函数中一样呈现

提前谢谢

彼得


编辑:经过更多的调查,我注意到即使我使用
var number=$(“questionNumber1”).text()我只得到一个空字符串。问题可能与DOM没有完全加载有关。脚本块位于
document.ready()
中,因此人们可能会猜测DOM已加载。

可能
内部
创建
方法引用的不是
$(“.answer”)

尝试备份,可能会有帮助:

var result = $(".answer").click(function() {
    var $this = $(this);
    $this.editable({
        className: "",
        saveUrl: "../api/Results/SaveResults",
        create: function() {
            var number = $this.siblings(".number").text();
            console.log(number);
            $this.editable("option", "questionNumber", number);
        }
    });
});

问题是create:函数正在另一个div中包装$(this)。因此,parent().parent()首先(“.number”)解决了这个问题

$(this).prev().text()

$(this).parent().children(".number").text()

$(this).parent().children().find(".number").text()
var result = $(".answer").click(function() {
    var $this = $(this);
    $this.editable({
        className: "",
        saveUrl: "../api/Results/SaveResults",
        create: function() {
            var number = $this.siblings(".number").text();
            console.log(number);
            $this.editable("option", "questionNumber", number);
        }
    });
});