我需要将 jQuery load 的结果插入到变量中。
在 ajax.html 页面上,元素 id 为 test 的内容。
在 ajax.html 页面上,元素 id 为 test 的内容。
$('#result').load('ajax.html #test');
尝试使用jQuery.get
替代。
例如:
$.get('ajax.html', function (data) {
data = $(data).find('#test');
// data contains your html
});
$('#result').load('ajax.html #test', function(result) {
var variable = $('#result').html();
});
大体上与上述做法相同,但更简单:
var dt;
$.get("ajax.html", function (data) {
dt = data;
// data contains your html
});
$(document).ready(function(){
$('#result').load('/ p#name', function(result) {
var obj = $(this).find('p#name'), html = obj.html();
obj.css({'font-size':40});
$(this).append($('<div>').text(html));
});
});
JSFiddle上的示例http://jsfiddle.net/kuroir/stD94/
jQuery.extend
(
{
getValues: function(url)
{
var result = null;
$.ajax(
{
url: url,
type: 'get',
dataType: 'html',
async: false,
cache: false,
success: function(data)
{
result = data;
}
}
);
return result;
}
}
);
// Option List 1, when "Cats" is selected elsewhere
optList1_Cats += $.getValues("/MyData.aspx?iListNum=1&sVal=cats");
// Option List 1, when "Dogs" is selected elsewhere
optList1_Dogs += $.getValues("/MyData.aspx?iListNum=1&sVal=dogs");
// Option List 2, when "Cats" is selected elsewhere
optList2_Cats += $.getValues("/MyData.aspx?iListNum=2&sVal=cats");
// Option List 2, when "Dogs" is selected elsewhere
optList2_Dogs += $.getValues("/MyData.aspx?iListNum=2&sVal=dogs");
如果您想要精确加载函数,请尝试以下方法:
var temp;
$(new Object()).load('YourUrl', { param: "smth" }, function(data){
$('#element').prepend(data); //if you want prepend/append result to some html
temp = data; //if you want put to variable
});
$('#submit').click(function(){ var taval = $("#message").val();
$("#showcomment").load('comments.php', {commentval:taval}) });
使用 setTimeout
<script>
my_var=$('#hidden').load('new.html');
setTimeout(function(){
my_var=my_var.html();
alert(my_var);
}, 500);
</script>
#test
内容的代码要少,但它会对#result
进行不必要的加载。 - Alin Purcaru#result
中,并将其分配给一个变量。如果不是这样的话,显然使用$.ajax()
会更好。 - Darin Dimitrov