Javascript 如何插入<;span>;将标签插入从XML提要生成的文本字符串的中间?

Javascript 如何插入<;span>;将标签插入从XML提要生成的文本字符串的中间?,javascript,xml,Javascript,Xml,我正在为一个客户构建一个wordpress主题,这个客户希望将他们最喜欢的歌曲从炒作机器中拉到网站中。我正在抓取XML提要 不过,就设计结果而言,我希望能够以不同于歌曲标题的方式设计艺术家姓名。不幸的是,提要在相同的锚元素中同时包含艺术家姓名和歌曲标题,如下所示: <li> <a href="link">Artist Name - Song Title</a> </li> <li> <a href="link"&

我正在为一个客户构建一个wordpress主题,这个客户希望将他们最喜欢的歌曲从炒作机器中拉到网站中。我正在抓取XML提要

不过,就设计结果而言,我希望能够以不同于歌曲标题的方式设计艺术家姓名。不幸的是,提要在相同的锚元素中同时包含艺术家姓名和歌曲标题,如下所示:

<li>
    <a href="link">Artist Name - Song Title</a>
</li>

<li>
    <a href="link">Artist Name - Song Title</a>
</li>
  • 我想知道是否有一种方法可以将span标记(可能使用javascript或Jquery)插入到生成的html中,从而得到如下结果:

    <li>
        <a href="link"><span class="artist">Artist Name - </span>Song Title</a>
    </li>
    
    <li>
        <a href="link"><span class="artist">Artist Name - </span>Song Title</a>
    </li>
    
  • 我的想法是,我可以使用javascript在字符串前面插入open标记,然后在找到“-”时插入closing标记。我只是不太了解JS,不知道怎么做,谷歌也帮不上什么忙

    想法


    谢谢

    如果你想用最简单的方法来做-

    var artistAndTitle = // wherever you get your info from, xml node or whatever
    var infoArray = artistAndTitle.split(' - ');
    var artistName = infoArray[0];
    var trackTitle = infoArray[1];
    var html = '<span>' + artistName + '</span> - <span>' + trackTitle + '</span>';
    
    var artistAndTitle=//无论从何处获取信息,都可以使用xml节点或其他方式
    var infoArray=artistAndTitle.split('-');
    var artistName=infoArray[0];
    var trackTitle=infoArray[1];
    var html=''+artistName+'-'+trackTitle+'';
    
    我一直在发布此链接:

    如果源代码不完全符合您的要求,请查看他的代码,也许您可以修改它。根据我的经验,即使在对大量HTML文本应用更改时,速度也相当快。

    artistAndTitle=“”+artistAndTitle


    artistAndTitle=artistAndTitle。替换(“-”,“-
    ”)

    这确实是一种懒惰的方式,jQuery中可能有一种更酷的单行解决方案。谢谢Matt。我已经仔细考虑了你的建议,否则就跳进了许多兔子洞。可悲的是,我没有接近。当artistAndTitle=特定硬编码字符串时,我可以让您的代码执行我想要的操作。当artistAndTitle=实际的xml文件时,我无法工作。还在玩…有趣。你要设定什么标题?我猜您希望它是一个xml节点值,它应该是一个字符串。。。那不管用吗?假设你做了一些像alert(yourVariableHere)这样的基本操作,它会弹出一个包含“艺术家-标题”文本的框吗?