【问题标题】:get() jquery got undefined in my caseget() jquery 在我的情况下未定义
【发布时间】:2016-03-15 21:45:18
【问题描述】:

var data = $.parseHTML(data.responseText);    
console.log(data) // above img is the result of this
var elem = $(data).find('#all-tickets').get(0);
console.log(elem)

我不自信,我不知道为什么。我试过不解析html使用字符串来搜索我的id,这是全票,它也不起作用。有什么想法吗?

我也试过$(data).find('#all-tickets').parent();,不行:(

【问题讨论】:

  • 你没有得到未定义。放入 console.log(elem.html()) 并检查。
  • @ParthTrivedi 试过了,我没定义
  • 检查 Dombreak 点
  • @Satpal 上面是我的 console.log(data);
  • 尝试使用var elem = $(data).find('#all-tickets')[0];。执行console.log($(data).find('#all-tickets'))的结果是什么?

标签: javascript jquery


【解决方案1】:

这似乎是一个数组,您正在尝试使用 $.parseHTML() 解析 xml 内容。相反,您必须尝试创建一个循环,或者只是将内容附加到 div 和 .find() 所需的元素:

var wrapper = $('<div/>', {
    html:data.join('')
});

console.log(wrapper.find('#all-tickets')[0]);

查看示例演示:

var arr = ['text', '<a href="#">aaa</a>', '<div id="targetDiv">targetDiv</div>'];

var div = $('<div/>', { html: arr.join('')});

$(document.body).append(div.find('#targetDiv')[0]);
&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;

【讨论】:

  • 我可以不解析吗?我不明白你的代码..我只想获取 html 块#all-tickets
  • 看到结果是array 而不是xml/html/xhtml 并且数组有索引,所以你不能在它们上使用.find()
  • @Jennifer 检查 sn-p 是否有帮助。
  • 你知道为什么它是一个数组吗?
猜你喜欢
  • 1970-01-01
  • 2015-02-09
  • 1970-01-01
  • 2020-05-16
  • 2022-07-10
  • 1970-01-01
  • 1970-01-01
  • 2023-02-14
  • 1970-01-01
相关资源
最近更新 更多