我创建了一个包含用getJSON方法返回的HTML的JQuery对象,我想在该JQuery对象上调用各种方法来检索某些DOM元素。我使用的方法将根据HTML的来源而有所不同。我已经尝试在对象var k中预先构建方法链,并将该对象和返回的DOM对象传递给一个函数,并认为空DOM对象将被作为函数参数的DOM对象替换,因为var k在函数中解析为长度为0的空字符串,所以没有发生这种情况。我是JS和JQ的新手,所以我可能对此不以为然。
var x = $();
var k = {
"chain1":x.filter('div').find('#feeding').children('p:eq(1)').text(),
"chain2":x.filter('div').find('#feeding').children('p:eq(5)').text(),
"chain3":x.filter('div').find('#feeding').children('p:eq(9)').text()}
$.getJSON('http://whateverorigin.org/get?url=' + encodeURIComponent(url) + '&callback=?', function(data) {
x = $(data.contents);
thisfood.kcal = test(x, k);})
function test(x, k) {
var product = x.filter('div').find('#top').children('h1').text();
var y =x.filter('div').find('#feeding').children('p:eq(1)').text();
var y = k.chain1;
var kcal_kg = y.match("\\d{1}\\,\\d{3}");
var kcal_serve = y.match("\\s\\d{3}");
var arr = new Array(kcal_kg, kcal_serve, product);
return arr;
}
答案 0 :(得分:-1)
我真的很讨厌Jquery,你的代码看起来好像是期待发布用Jquery完成的项目..
无论如何..如果你想用一个函数替换jquery选择器$("")你应该知道该函数需要它返回一个DOM元素。否则将标记错误并且java脚本将中止。