Javascript 如何在使用XSLT和jQuery的书籍中动态设置标题?
我有以下xml:Javascript 如何在使用XSLT和jQuery的书籍中动态设置标题?,javascript,jquery,xml,xslt,xpath,Javascript,Jquery,Xml,Xslt,Xpath,我有以下xml: 我需要插入before标记。看起来您应该使用parseXML 这将在其同级Ayeh节点之前移动SName节点$xml[0]将成为您可以使用的xml文档,或者您可以将jQuery对象$xml附加到div中。非常感谢我的朋友。通过您的回复,我得到了另一个回复。 <quran> <row> <WID>10</WID> <word>بسم</word> <
我需要插入before标记。看起来您应该使用parseXML
这将在其同级Ayeh节点之前移动SName节点$xml[0]将成为您可以使用的xml文档,或者您可以将jQuery对象$xml附加到div中。非常感谢我的朋友。通过您的回复,我得到了另一个回复。
<quran>
<row>
<WID>10</WID>
<word>بسم</word>
<SID>1</SID>
<Ayeh>0</Ayeh>
<Joze>1</Joze>
<Hezb>1</Hezb>
<ParentID>4556</ParentID>
<Page>1</Page>
<Joint>1</Joint>
<SName>فاتحه</SName>
</row>
<row>
<WID>11</WID>
<word>الله</word>
<SID>1</SID>
<Ayeh>0</Ayeh>
<Joze>1</Joze>
<Hezb>1</Hezb>
<ParentID>3565</ParentID>
<Page>1</Page>
<Joint>1</Joint>
<SName>فاتحه</SName>
</row>
<row>
<WID>12</WID>
<word>الرحمن</word>
<SID>1</SID>
<Ayeh>0</Ayeh>
<Joze>1</Joze>
<Hezb>1</Hezb>
<ParentID>2876</ParentID>
<Page>1</Page>
<Joint>1</Joint>
<SName>فاتحه</SName>
</row>
<row>
<WID>14</WID>
<word>الْحَمْدُ</word>
<SID>1</SID>
<Ayeh>2</Ayeh>
<Joze>1</Joze>
<Hezb>1</Hezb>
<ParentID>2732</ParentID>
<Page>1</Page>
<Joint>1</Joint>
<SName>فاتحه</SName>
</row>
<row>
<WID>15</WID>
<word>للّهِ</word>
<SID>1</SID>
<Ayeh>2</Ayeh>
<Joze>1</Joze>
<Hezb>1</Hezb>
<ParentID>12105</ParentID>
<Page>1</Page>
<Joint>1</Joint>
<SName>فاتحه</SName>
</row>
<row>
<WID>5618</WID>
<word>بسم</word>
<SID>2</SID>
<Ayeh>0</Ayeh>
<Joze>1</Joze>
<Hezb>1</Hezb>
<ParentID>4556</ParentID>
<Page>2</Page>
<Joint>2</Joint>
<SName>بقره</SName>
</row>
<row>
<WID>5619</WID>
<word>الله</word>
<SID>2</SID>
<Ayeh>0</Ayeh>
<Joze>1</Joze>
<Hezb>1</Hezb>
<ParentID>3565</ParentID>
<Page>2</Page>
<Joint>2</Joint>
<SName>بقره</SName>
</row>
<row>
<WID>5620</WID>
<word>الرحمن</word>
<SID>2</SID>
<Ayeh>0</Ayeh>
<Joze>1</Joze>
<Hezb>1</Hezb>
<ParentID>2876</ParentID>
<Page>2</Page>
<Joint>2</Joint>
<SName>بقره</SName>
</row>
<row>
<WID>4784</WID>
<word>الم</word>
<SID>2</SID>
<Ayeh>1</Ayeh>
<Joze>1</Joze>
<Hezb>1</Hezb>
<ParentID>3567</ParentID>
<Page>2</Page>
<Joint>2</Joint>
<SName>بقره</SName>
</row>
<row>
<WID>5105</WID>
<word>ذَلِكَ</word>
<SID>2</SID>
<Ayeh>2</Ayeh>
<Joze>1</Joze>
<Hezb>1</Hezb>
<ParentID>7234</ParentID>
<Page>2</Page>
<Joint>2</Joint>
<SName>بقره</SName>
</row>
<quran>
$('.quranText .ayaNumber').each(function(){
if($.trim($(this).text())=='﴿0﴾')
$(this).closest('.aya').prepend('<div class="suraHeaderFrame">'
+'<div class="suraHeaderText">'+
<xsl:for-each-group select="//row[./Page/text()=$page]" group-by="Page">
<xsl:for-each-group select="current-group()" group-by="SID">
<xsl:for-each-group select="current-group()" group-by="concat(Page,SID)">
<xsl:choose >
<xsl:when test = "./Ayeh = 1 or ./Ayeh = 0" >
<xsl:value-of select="SName"/>
</xsl:when>
</xsl:choose>
</xsl:for-each-group>
</xsl:for-each-group>
</xsl:for-each-group>
+'</div>'
+'</div>');
});
var xml = "<?xml version='1.0'?><quran><row><WID>10</WID><word>بسم</word><SID>1</SID><Ayeh>0</Ayeh><Joze>1</Joze><Hezb>1</Hezb><ParentID>4556</ParentID><Page>1</Page><Joint>1</Joint><SName>فاتحه</SName></row><row><WID>11</WID><word>الله</word><SID>1</SID><Ayeh>0</Ayeh><Joze>1</Joze><Hezb>1</Hezb><ParentID>3565</ParentID><Page>1</Page><Joint>1</Joint><SName>فاتحه</SName></row><row><WID>12</WID><word>الرحمن</word><SID>1</SID><Ayeh>0</Ayeh><Joze>1</Joze><Hezb>1</Hezb><ParentID>2876</ParentID><Page>1</Page><Joint>1</Joint><SName>فاتحه</SName></row><row><WID>14</WID><word>الْحَمْدُ</word><SID>1</SID><Ayeh>2</Ayeh><Joze>1</Joze><Hezb>1</Hezb><ParentID>2732</ParentID><Page>1</Page><Joint>1</Joint><SName>فاتحه</SName></row><row><WID>15</WID><word>للّهِ</word><SID>1</SID><Ayeh>2</Ayeh><Joze>1</Joze><Hezb>1</Hezb><ParentID>12105</ParentID><Page>1</Page><Joint>1</Joint><SName>فاتحه</SName></row><row><WID>5618</WID><word>بسم</word><SID>2</SID><Ayeh>0</Ayeh><Joze>1</Joze><Hezb>1</Hezb><ParentID>4556</ParentID><Page>2</Page><Joint>2</Joint><SName>بقره</SName></row><row><WID>5619</WID><word>الله</word><SID>2</SID><Ayeh>0</Ayeh><Joze>1</Joze><Hezb>1</Hezb><ParentID>3565</ParentID><Page>2</Page><Joint>2</Joint><SName>بقره</SName></row><row><WID>5620</WID><word>الرحمن</word><SID>2</SID><Ayeh>0</Ayeh><Joze>1</Joze><Hezb>1</Hezb><ParentID>2876</ParentID><Page>2</Page><Joint>2</Joint><SName>بقره</SName></row><row><WID>4784</WID><word>الم</word><SID>2</SID><Ayeh>1</Ayeh><Joze>1</Joze><Hezb>1</Hezb><ParentID>3567</ParentID><Page>2</Page><Joint>2</Joint><SName>بقره</SName></row><row><WID>5105</WID><word>ذَلِكَ</word><SID>2</SID><Ayeh>2</Ayeh><Joze>1</Joze><Hezb>1</Hezb><ParentID>7234</ParentID><Page>2</Page><Joint>2</Joint><SName>بقره</SName></row></quran>"
xmlDoc = $.parseXML( xml ),
$xml = $( xmlDoc ),
$xml.find( "SName" ).each(function(){
$(this).siblings('Ayeh').before($(this));
})