我目前正在尝试从我的html标记 “main”已被我的java脚本代码更新以包含另一个html值后的元素标记中获取值PHP文件。尝试从更新后的标记中获取元素
<main>
<?php include 'index.php'; ?>
</main>
<div id="footer">
</div>
</div>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script type="text/javascript" src="homepage_J.js"></script>
<!--<script type="text/javascript" src="homepage_A.js"></script>-->
</body>
</html>
以上是我的php文件的相关部分,它包含html正文。我的java脚本代码应该更改标签的当前值,然后扫描以获取新加载文件的某些值。
这里是javascript。
$(document).ready(function(){
$(window).on('hashchange', function(){
var pageHash = window.location.hash.substring(1);
console.log("page hash: "+pageHash);
if(pageHash.length==0){
pageHash = "index";
}
$('main').load(pageHash + ".php", pageFunctions());
});
$("nav a").on('click', function(event){
event.preventDefault();
var page = $(this).attr("href");
console.log("Loading " + page);
window.location.hash = formatForHash(page);
$('main').load(page, pageFunctions());
});
$(window).trigger('hashchange',pageFunctions());
});
function pageFunctions() {
var current_page = $("#page").text(); //checks to see which file called the javascript
// Switch case that will load appropriate function based on the file loaded(homepage)
switch(current_page){
case "INDEX":
console.log("HOME loaded");
break;
case "INBOX":
console.log("INBOX loaded");
break;
case "REGISTRATION":
console.log("REGIS loaded");
break;
case "COMPOSE":
compose();
console.log("compose loaded");
break;
default:
console.log("ERROR IN :" + current_page);
break;
}
}
function formatForHash (page)
{
var hash = page.split('.');
return hash[0];
}
控制台日志被用来帮助我调试他的代码。而我从中得到的是,javascript是将前一次加载的元素返回到main,而不是当前加载到它的值(即时看到的不是我所得到的)。
so value in var current_page是不是我目前所在的页面。它不相应。所以如果我从索引中离开来构成它的价值就是“索引”,而这种敬畏会给我一个“写作”的价值。
所以我的问题是我将如何获得当前页面上的元素的值,之后或加载之前。
对于冗长的帖子感到抱歉,希望我给了足够的细节。
你需要的是代表 –