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元素——它在创建的那一刻就已经结束了。@太好了,很高兴我能帮上忙。如果它有用,你可能会考虑接受它作为答案(点击答案左边的刻度标记)。