我已经将狗的名字从Pg1传给了Pg2。我在下面的代码中添加了注释,以便逐步解释发生了什么。我的代码一直工作到最后一个函数,它应该在girls.xml中搜索狗的名字并将相关节点加载到Pg2上的配置文件中。
如果您有任何改进我的代码的建议,我将不胜感激。善待我自学: - )
这是 litters.xml 文件格式化的方式
<?xml version="1.0" encoding="utf-8"?>
<litter>
<litter_id>201704</litter_id>
<dogs_mom>June Bug</dogs_mom>
<dogs_dad>Oscar</dogs_dad>
</litter>
这就是 girls.xml 文件格式化的方式
<?xml version="1.0" encoding="utf-8"?>
<breeder>
<girls>
<dog>
<dogs_breeding_name>Adora</dogs_breeding_name>
<profile>
<![CDATA[<strong>Adora</strong> is a second generation puppy. Adora lives in a guardian home. ]]>
</profile>
</dog>
</girls>
</breeder>
在 pg1.html 上点击了Dog's Mom的名字(litters.xml)并传递给pg2.html
$(".thumb-but-link").click(function (e) {
e.preventDefault();
var i = $(e.currentTarget).text();
window.location.href = '../xml/pg2.html' + '#' + i;
});
pg2.html 文件加载 girls.xml 文件
$.ajax({
type: "GET",
url: "../xml/girls.xml",
dataType: "xml",
success: findDog
});
findDog函数加载女孩节点
function findDog(xml){
$(xml).find('girls').each(function () {
girlsXml = $(this);
然后它使用if语句来检查是否从 pg1.html 传递了新的狗名称,如果没有传递名称,它会加载 girls.xml 将文件存入页面上的狗配置文件。
if(window.location.hash.substring(1)) {
var i = location.hash.match(/^#?(.*)$/)[1];
var x = girlsXml.find('dog:contains("i")');
loadClickedContent(x)
}else{
var x = girlsXml.find('dog').first();
loadClickedContent(x)
}
});
}
function loadClickedContent(x) {
girlsXml.find(x).each(function () {
var x = $(this);
var dogsBreedingName = x. find('dogs_breeding_name').text();
var profileName = x.find('profile').text();
$("#breedingNameHolder").empty();
$("#profileHolder").empty();
$("#breedingNameHolder").append(dogsBreedingName);
$("#profileHolder").append(profileName);
});
}
</script>
因此...
Pg1.html thumb-but-link“正在将狗的名字从litters.xml传递到 Pg2.html 。
Pg2.html girls.xml正确加载
Pg2.xml 能够将来自girls.xml的默认狗加载到个人资料中
Pg2.html if语句能够从Pg1.html中读取狗的名字
Pg2.html else语句能够读取girls.xml中的默认狗。然后它调用loadClickedContent函数并将默认狗加载到配置文件中。
我认为我的问题可能是当我调用loadClickedContent函数时,从if语句中,它没有加载新内容。它可能不是正确的格式吗?我已经尝试将.html()和.text()放在最后,但它们没有用。
答案 0 :(得分:0)
当你正在寻找狗的名字时,你实际上没有把它放在搜索中,只需要输入字母make
,尝试将变量class Employee : IComparable<Employee>
{
string name;
string address;
public int CompareTo(Employee obj)
{
Employee person = obj;
}
}
连接到的下面的代码找到所需狗的字符串。
i