将JQuery DOM元素保存为变量

时间:2011-07-19 00:26:03

标签: javascript jquery html css

我正在尝试使用以下代码将DOM元素存储到变量中:

var save_status = $(this).siblings(".save-status")[0];
save_status.append("<img src="images/loading-small.gif" width=30 />");

我收到以下错误:

Uncaught SyntaxError: Unexpected identifier

知道为什么我会收到这个错误吗? 谢谢!

3 个答案:

答案 0 :(得分:9)

替换

save_status.append("<img src="images/loading-small.gif" width=30 />");

save_status.append('<img src="images/loading-small.gif" width=30 />');

问题出在你的报价中。

答案 1 :(得分:9)

您收到错误是因为您的报价未转义(或字面值)。

要回答您的其他问题(根据标题和示例),您可以保存 jQuery对象 DOM元素,但它们不一样。例如:

var x = $(selector); // returns jQuery object
var y = $(selector)[0]; // returns DOM element

x.append('stuff'); // use jQuery functions directly
$(y).append('stuff'); // pass the DOM element to jQuery first

答案 2 :(得分:0)

我看到了几件事。试试这个例子:

<style>
#mydiv{
    display: block;
    width: 100px;
    height: 100px;
    background-color: red;
}
</style>
<script src="../assets/js/jquery-1.6.min.js" type="text/javascript"></script>
<script>
$(function(){
    $("#mydiv").click(function(){
        var save_status = $(this).siblings(".save-status").next();
        save_status.append('<img src="images/loading-small.gif" width=30 />');
        alert(save_status);
    });
});
</script>
<body>
    <div id="mydiv">
        <div></div>
        <div></div>
        <div class="save-status"></div>
    </div>
</body>

差异是引号并使用“.next()”