2016-03-03 65 views
1

我有两个HTML文件:如何从另一个文件获得HTML元素值

的index.html

<!DOCTYPE html> 
<html> 
<head> 
<script src="jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 

$.get("target.html", function(data) { 
    var data = $(data); 
var elem = $(data.find('#tst')); 
console.log(elem); 
}); 


}); 
</script> 
</head> 
<body> 

<p> This an p tag</p> 

</body> 
</html> 

target.html上

<!DOCTYPE html> 
<html> 
<head> 
<script src="jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 

}); 
</script> 
</head> 
<body> 

<p> This an p tag</p> 
<h1 id="tst"> Test </h1> 
</body> 
</html> 

我想要的值$(” #tst')从target.html转换为index.html。我如何实现它?

这两个文件都在同一个基本目录中。 $(“#tst”)的值也是静态的。

当我做的console.log($(数据))我得到这个对象

[text, script, text, script, text, p, text, h1#tst, text] 
0: text 
1: script 
2: text 
3: script 
4: text 
5: p 
6: text 
7: h1#tst 
accessKey: ""align: ""attributes: NamedNodeMap0: idlength: 1__proto__: NamedNodeMapbaseURI: nullchildElementCount: 0childNodes: NodeList[1]children: HTMLCollection[0]classList: DOMTokenList[0]className: ""clientHeight: 0clientLeft: 0clientTop: 0clientWidth: 0contentEditable: "inherit"dataset: DOMStringMapdir: ""draggable: falsefirstChild: textfirstElementChild: nullhidden: falseid: "tst"innerHTML: " Test "innerText: " Test "isContentEditable: falselang: ""lastChild: textlastElementChild: nulllocalName: "h1"namespaceURI: "http://www.w3.org/1999/xhtml"nextElementSibling: nullnextSibling: textnodeName: "H1"nodeType: 1nodeValue: nulloffsetHeight: 0offsetLeft: 0offsetParent: nulloffsetTop: 0offsetWidth: 0onabort: nullonautocomplete: nullonautocompleteerror: nullonbeforecopy: nullonbeforecut: nullonbeforepaste: nullonblur: nulloncancel: nulloncanplay: nulloncanplaythrough: nullonchange: nullonclick: nullonclose: nulloncontextmenu: nulloncopy: nulloncuechange: nulloncut: nullondblclick: nullondrag: nullondragend: nullondragenter: nullondragleave: nullondragover: nullondragstart: nullondrop: nullondurationchange: nullonemptied: nullonended: nullonerror: nullonfocus: nulloninput: nulloninvalid: nullonkeydown: nullonkeypress: nullonkeyup: nullonload: nullonloadeddata: nullonloadedmetadata: nullonloadstart: nullonmousedown: nullonmouseenter: nullonmouseleave: nullonmousemove: nullonmouseout: nullonmouseover: nullonmouseup: nullonmousewheel: nullonpaste: nullonpause: nullonplay: nullonplaying: nullonprogress: nullonratechange: nullonreset: nullonresize: nullonscroll: nullonsearch: nullonseeked: nullonseeking: nullonselect: nullonselectstart: nullonshow: nullonstalled: nullonsubmit: nullonsuspend: nullontimeupdate: nullontoggle: nullonvolumechange: nullonwaiting: nullonwebkitfullscreenchange: nullonwebkitfullscreenerror: nullonwheel: nullouterHTML: "<h1 id="tst"> Test </h1>"outerText: " Test "ownerDocument: documentparentElement: nullparentNode: document-fragmentprefix: nullpreviousElementSibling: ppreviousSibling: textscrollHeight: 0scrollLeft: 0scrollTop: 0scrollWidth: 0shadowRoot: nullspellcheck: truestyle: CSSStyleDeclarationtabIndex: -1tagName: "H1"textContent: " Test "title: ""translate: truewebkitdropzone: ""__proto__: HTMLHeadingElement 
8: textlength: 9__proto__: n[0] 

当我做的console.log(ELEM)我得到这个对象

n.fn.init[0] 
context: undefined 
length: 0 
selector: "#tst" 
__proto__: n[0] 

回答

3

使用.find()获取当前匹配元素集中每个元素的后代,由选择器,jQuery对象或元素过滤

试试这个:

$.get("target.html", function(data) { 
 
    var data = $(data); 
 
    var elem = data.find('#tst'); 
 
});

编辑:

由于所有immediate孩子的被$(data)返回,因为我们没有parent选择.find()方法在这里不适用。

创建dummy DIV和设置的这个html的div作为data这样我们就可以使用DummyDiv.find()

试试这个:

$(document).ready(function() { 
 
    $.get("target.html", function(data) { 
 
    var data = $('<div>', { 
 
     html: data 
 
    }); 
 
    var elem = data.find('#tst'); 
 
    }); 
 
});

+0

我如何获得价值 '测试' 。我试过.val()和.html()它返回undefined。 – user3383301

+0

这是我试过的。它返回undefined。 $获得( “target.html上”,功能(数据){ \t VAR数据= $(数据); \t变种ELEM = data.find( '#TST'); \t的console.log(elem.html ()); }); – user3383301

+0

target.html的html对象 – user3383301