我正在尝试使用以下代码将DOM元素存储到变量中:
var save_status = $(this).siblings(".save-status")[0];
save_status.append("<img src="images/loading-small.gif" width=30 />");
我收到以下错误:
Uncaught SyntaxError: Unexpected identifier
知道为什么我会收到这个错误吗? 谢谢!
答案 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()”