下面是一个简化的XML文件:
const mpd = `<AdaptationSet id="1" lang="eng" mimeType="audio/mp4">
<Representation codecs="mp4a.40.2" id="5" mimeType="audio/mp4"></Representation>
<Representation codecs="mp4a.40.2" id="6" mimeType="audio/mp4"></Representation>
<Representation codecs="mp4a.40.2" id="7" mimeType="audio/mp4"></Representation>
</AdaptationSet>
<AdaptationSet id="1" lang="eng" mimeType="audio/mp4">
<Representation codecs="ec-3" id="8" mimeType="audio/mp4"></Representation>
</AdaptationSet>`
我想获取每个AdaptationSet
元素的Representation
元素的codecs属性.
let mpdXML = $.parseXML(mpd);
let audios = $mpdXML.find("AdaptationSet[mimeType|='audio/mp4']");
$.each(audios, (id, audio) => {
// let codecs = $(audio).find('Representation')[0].attr('codecs');
let codecs = $(audio).find('Representation').attr('codecs');
})
密码运行得很好.但我认为这不是准确的解决方案,因为Representation
个元素可能不止一个.所以我添加了一行代码(现在已被注释),但它不会起作用.有人能告诉我为什么吗?因为我在jQuery文档中看到过类似的例子,它是这样做的:
var item1 = $( "li.item-1" )[ 0 ];
$( "li.item-ii" ).find( item1 ).css( "background-color", "red" );
谢谢!