我需要一些帮助来将javascrpipt函数转换成jQuery。以下是我的原始JS代码:
var text = document.getElementsByTagName("pre")[0].innerHTML;在对Stack进行了一些研究之后,我能够得出以下等价物:
var text = $(data).$('pre')[0].html();其中,data是我在$.get请求中接收的数据,如下所示。
$.get (
mypage,
function parse(data) {
var raw = $(data).$('pre')[0].html();
}
);但这似乎不起作用,而且我对jQuery也不太在行。
发布于 2014-01-02 00:46:48
假设data包含超文本标记语言,那么$(data).find('pre').eq(0).html()也应该这样做。
发布于 2014-01-02 00:47:54
要从数据中获取带有标记pre的第一个元素,您可以在jQuery中执行以下操作:
$('pre',data).eq(0).html();http://api.jquery.com/jquery/#jQuery-selector-context
发布于 2014-01-02 00:54:22
$(data).$('pre')[0].html();不工作的原因是[0]部件将第一个找到的元素提取为DOM元素,而不是jQuery对象,因此调用.html()失败。
其他人已经指出了解决方案。.eq(0)获取第一个元素作为jQuery对象(根据moonwave99和melc的回答),这就是为什么您可以对其调用.html()的原因。
有关差异的进一步阅读,请参阅:jQuery object and DOM element
https://stackoverflow.com/questions/20870804
复制相似问题