我有这个XML文件(部分),我需要获取版本并使用jQuery修改日期。
<?xml version="1.0" encoding="UTF-8"?>
<package xmlns="http://www.idpf.org/2007/opf"
version="3.0"
xml:lang="nl"
unique-identifier="isbn-id"
prefix="cc: http://creativecommons.org/ns# rendition: http://www.idpf.org/vocab/rendition/# ibooks: http://vocabulary.itunes.apple.com/rdf/ibooks/vocabulary-extensions-1.0/">
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/">
<meta refines="#title" property="title-type">main</meta>
<meta property="ibooks:version">1.0.440</meta>
<meta property="dcterms:modified">2014-06-08T21:15:17Z</meta>
...
这是从上面的XML文件中读取版本和日期的javascript / jQuery函数:
$(document).ready(function(){
$.ajax({
type: "GET",
url: "package.opf",
dataType: "xml",
success: function(xml) {
var opf = $.parseXML( xml );
$("span#datum").html($(opf).find("meta[property='dcterms:modified']").text());
$("span#versie").html($(opf).find("meta[property='ibooks:version']").text());
},
error: function(jqHXR, textStatus, errorThrown) {
console.log(jqHXR);
console.log(textStatus);
console.log(errorThrown);}
});
});
将版本和日期放在现有的XHTML文件中,其中一部分是:
<p style="margin: 2em;" class="noind">Versie: <span id="versie">1.0.497</span>
<br />Datum: <span id="datum">2014-06-05T22:15:50Z</span>
然而:我得到了空白。版本和日期被空格覆盖。 怎么可能?
是的,我找到了。但是像这样:$(document).ready(function(){
$.get ('package.opf', function(xml) {
$("span#datum").html($(xml).find("meta[property='dcterms\\:modified']").text());
$("span#versie").html($(xml).find("meta[property='ibooks\\:version']").text());
});
});
其中.opf文件与包含javascript的xhtml文件位于同一目录中。 但我认为这不适用于iBooks中的EPUB3书籍,因为在那里,我认为没有变化。
答案 0 :(得分:0)
这是jQ对XML节点和处理器的处理。属性中带冒号的属性;你需要逃避它们:
$("span#datum").html($(opf).find("meta[property='dcterms\\:modified']").text());
$("span#versie").html($(opf).find("meta[property='ibooks\\:version']").text());
修改强>
更新以添加jsFiddle:http://jsfiddle.net/7cu7g/