ich stehe mal wieder vor einem kleinen jQuery Problem ..und zwar komme ich einfach nicht dahinter wie ich richtig auf Elemente zugreifen kann, wenn sich das HTML in einem String befindet.
Kurz zum Hintergrund - es geht um eine Funktion in einer Browsererweiterung welche Daten von einer entfernten Seite holt. Hier habe ich das ganze mal auf's wesentliche beschränkt, die Variable htmlString enthält also die abgeholten Daten.
Code: Alles auswählen
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
<script src="jquery-1.11.1.min.js"></script>
<script>
$(document).ready(function() {
var htmlString = '<!DOCTYPE html>' +
'<html>' +
'<head>' +
'<meta name="firstName" content="false">' +
'</head>' +
'<body>' +
'<div id="test1" name="test1">test2</div>' +
'<div id="test2" name="test2">test2</span>' +
'</body>' +
'</html>';
var $ = jQuery;
var html = $.parseHTML(htmlString);
//var html = htmlString;
var test1 = $("#test1", $(html)).attr("name");
var test2 = $(html).find("#test2").attr("name");
var test3 = $(html).attr("name");
console.log(html); //object
console.log('1: ' + test1); //undefined
console.log('2: ' + test2); //undefined
console.log('3: ' + test3); //firstName
});
</script>
</head>
<body>
</body>
</html>
Im Programm selber habe ich noch ein sehr seltsames Verhalten welches ich aber ausserhalb nicht reproduzieren kann - vom abgerufenen Quelltext kann ich ein Element anhand der ID selektieren ein anderes aber nicht.
Wär super wenn mir jemand auf die Sprünge helfen könnte