getElementsByTagName在jQuery中是否相同?

时间:2014-01-01 16:44:12

标签: javascript jquery get

我需要一些帮助才能将javascrpipt函数转换为jQuery。以下是我原来的JS代码:

var text = document.getElementsByTagName("pre")[0].innerHTML;

经过对Stack的一点研究后,我得出了这个等价物:

var text = $(data).$('pre')[0].html();

数据是我在$.get请求中收到的数据,如下所示。

$.get (
    mypage,
    function parse(data) {
        var raw = $(data).$('pre')[0].html();
    }
);

但这似乎不起作用,我对jQuery不是很好。

3 个答案:

答案 0 :(得分:1)

data拥有HTML时,$(data).find('pre').eq(0).html()应该这样做。

答案 1 :(得分:0)

要从数据中获取带有标记pre的第一个元素,您可以在jQuery中执行以下操作,

$('pre',data).eq(0).html();

http://api.jquery.com/jquery/#jQuery-selector-context

答案 2 :(得分:0)

$(data).$('pre')[0].html();不起作用的原因是[0]部分将第一个找到的元素提取为DOM元素,而不是jQuery对象,因此调用.html()失败。

其他人已经指出了解决方案。 .eq(0)获取第一个元素作为jQuery对象(根据moonwave99和melc的答案),这就是你可以在其上调用.html()的原因。

有关差异的进一步阅读,请参阅:jQuery object and DOM element