我在另一个匿名函数中有一个ajax调用。我遇到的问题是这个长度为零。
//data_ajax_target equals '#partial_f_Picture'
Debug.Log($(data_ajax_target).length); // equal zero.
这可以防止从ajax调用返回的html替换div的内容。
这是我的div
<div id="#partial_f_Picture">
<div id="fileuploader-small-f_Picture"
data-ajax-uploadurl="...omitted..."
data-ajax-target="#partial_f_Picture">
</div>
</div>
这是我减少的javascript
$(function ()
{
FileUploaderSmallReady();
});
...
function FileUploaderSmallReady()
{
var uploaderDiv = $('[id^="fileuploader-small"]').each(function ()
{
var data_ajax_uploadurl = $(this).attr('data-ajax-uploadurl');
var data_ajax_target = $(this).attr('data-ajax-target');
var uploadersmall = new qq.FileUploader({
element: document.getElementById($(this).attr('id')),
action: data_ajax_uploadurl,
onComplete: function (file, response, responseJSON)
{
var data_ajax_url = responseJSON['data_ajax_url'];
if (typeof data_ajax_url != 'undefined')
{
$.ajax(
{
type: "GET",
url: data_ajax_url,
beforeSend: AjaxBegin(),
success: function (html)
{
Debug.Log(data_ajax_target);
//== #partial_f_Picture
Debug.Log($(data_ajax_target).length);
//== 0
$(data_ajax_target).html(html);
}
});
}
}
});});} //moved braces up to prevent code from being in a scroll window.
答案 0 :(得分:2)
将<div id="#partial_f_Picture">
更改为<div id="partial_f_Picture">
。选择器中的#
表示“它是一个id”(与.
相对,这意味着“它是一个类”,缺少前缀,这意味着“它是一个dom标签”({{1} },p
等))。