Ich ziehe Daten von einem Abschnitt einer Seite in eine andere, um ein Menü zu erstellen. Ich muss die Daten in ein verstecktes Element oder eine Variable ziehen, da ich gerade ein doppeltes Menü erhalte. Meine dynamische Ausfliege und die statische <ul><li>
ist. Das Menü besteht aus diesen. HierJQuery .load() in Variable oder verstecktes Element
ist das, was ich bisher:
<script type="text/javascript">
$(document).ready(function(){
$('div.ms-quickLaunch').replaceWith('<div id="hierarchy" style="border:solid 1px white; width:0px; visibility:hidden"></div>');
});
$(function(){
$('#hierarchy').load('http://wwcshare/icenter/Pages/wwcMenuContent.aspx #menuContent',
function(){
$(this).menu({
autoShow: true,
content: $(this).html(),
backLink: false,
crumbDefaultText: ' '
});
});
});
</script>
Dies funktioniert, außer dass mein Menü nicht mehr platziert zu werden, wo es hingehört. Es ist oben auf der Seite statt in der Seite #hierarchy div
.
Hier ist meine WECHSELN VERSUCH basiert auf einem von der Antwort des:
$(function(){
$.get('http://wwcshare/icenter/Pages/wwcMenuContent.aspx', function(data){ // grab content from another page
contentIwant = data.find("#menuContent");
$('#hierarchy').menu({
autoShow: true,
content: contentIwant,
backLink: false,
crumbDefaultText: ' '
});
});
});
Außer dass ein '$ .get()' kann nicht einen bestimmten Teil einer Website erhalten, richtig? –
nicht automatisch, aber das ist eine kleine Hürde. 'data.find (" # element ")' – generalhenry
sie sind beide Shortcuts für $ .ajax, $ .load geht nur einen Schritt über das, was Sie wollen imho, besser einen Schritt zu stoppen und manuell den letzten Schritt gehen. Das manuelle Rückgängigmachen eines Schrittes ist schwieriger. – generalhenry