Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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
Javascript jQuery中运行代码的顺序_Javascript_Jquery - Fatal编程技术网

Javascript jQuery中运行代码的顺序

Javascript jQuery中运行代码的顺序,javascript,jquery,Javascript,Jquery,这是我代码的一部分: $.post('category.php',{datatosend : datatosend},result); function result(data) { $('#placeHolder').append('<select onchange="loadcats();" id="categoryPID" name="categoryPID" >').append(data).append('</select>'); aler

这是我代码的一部分:

$.post('category.php',{datatosend : datatosend},result);

function result(data) {
    $('#placeHolder').append('<select onchange="loadcats();" id="categoryPID" name="categoryPID" >').append(data).append('</select>');  
    alert($('#placeHolder').html());
    });
}
$.post('category.php',{datatosend:datatosend},result);
功能结果(数据){
$(“#占位符”).append(“”).append(数据).append(“”);
警报($('#占位符').html());
});
}
我希望此HTML处于警报状态:

<select onchange="loadcats();" id="categoryPID" name="categoryPID">
<option value="37">computer</option><option value="38">mobile</option>
</select>

计算机移动
但结果是:

<select onchange="loadcats();" id="categoryPID" name="categoryPID"></select>
<option value="37">computer</option><option value="38">mobile</option>

计算机移动
为什么?我该怎么办?!谢谢。

试试这个:

$('#placeHolder').append('<select onchange="loadcats();" id="categoryPID" name="categoryPID" >');
$('#categoryPID').append(data);
$(“#占位符”).append(“”);
$('#categoryPID')。追加(数据);
试试这个:

$('#placeHolder').append('<select onchange="loadcats();" id="categoryPID" name="categoryPID" >');
$('#categoryPID').append(data);
$(“#占位符”).append(“”);
$('#categoryPID')。追加(数据);

这个问题经常出现,这是因为对
.append()
函数的功能有误解。人们似乎觉得这与将HTML字符串连接到所选元素的
innerHTML
属性是一样的,但事实并非如此

.append()
函数用于实际的DOM元素。如果您传入一个字符串,它会将其解析为HTML,创建元素,然后将这些元素附加到所选元素。所以当你这样做的时候:

$('#placeHolder').append('<select onchange="loadcats();" id="categoryPID" name="categoryPID" >')
实际上,可以将这些调用中的大多数链接起来,但我将其拆分,纯粹是为了说明发生了什么。链式版本的外观如下所示:

alert($('#placeHolder').append($('<select onchange="loadcats();" id="categoryPID" name="categoryPID" >').append(data)).html());
alert($('#占位符').append($('').append(data)).html();

这个问题经常出现,这是因为对
.append()
函数的功能有误解。人们似乎觉得这与将HTML字符串连接到所选元素的
innerHTML
属性是一样的,但事实并非如此

.append()
函数用于实际的DOM元素。如果您传入一个字符串,它会将其解析为HTML,创建元素,然后将这些元素附加到所选元素。所以当你这样做的时候:

$('#placeHolder').append('<select onchange="loadcats();" id="categoryPID" name="categoryPID" >')
实际上,可以将这些调用中的大多数链接起来,但我将其拆分,纯粹是为了说明发生了什么。链式版本的外观如下所示:

alert($('#placeHolder').append($('<select onchange="loadcats();" id="categoryPID" name="categoryPID" >').append(data)).html());
alert($('#占位符').append($('').append(data)).html();

谢谢你的回复,但我不是这个意思。我有一个id为占位符的div,我想将html代码附加到其中that@MeToojQuery不附加HTML代码,但它附加DOM元素;有关完整的解释,请参阅我的答案。据我所知,这里的代码会给你你想要的结果。谢谢你的回复,但我不是这个意思。我有一个id为占位符的div,我想将html代码附加到其中that@MeToojQuery不附加HTML代码,但它附加DOM元素;有关完整的解释,请参阅我的答案。据我所知,这里的代码会给你你想要的结果。@我的意思是你不需要这样做。它不是HTML,它是一个DOM元素——它在创建的那一刻就已经结束了。@太好了,很高兴我能帮上忙。如果它有用,你可能会考虑接受它作为答案(点击答案左边的刻度标记)。它不是HTML,它是一个DOM元素——它在创建的那一刻就已经结束了。@太好了,很高兴我能帮上忙。如果它有用,你可能会考虑接受它作为答案(点击答案左边的刻度标记)。