添加/预先选择兄弟姐妹()不使用HTML标记元素

时间:2015-06-07 22:01:45

标签: javascript jquery html

我有这个HTML代码:

<span class="apparatus type-substantive">
<span class="reading HQ1">I there’s the </span>
<span class="reading TTQ1 BQ1">ay, there's the </span>
<span class="reading HQ2 BQ2 BF BE HaF MW GBE HJ DB4 BR PE TW TS TTQ2 TTF RSM"> that is the </span>
</span>

我想注射&#34;&lt;&#34;和&#34;&gt;&#34;在具有HQ2类(第三个跨度)之前和之后,以及在具有HQ1类(第一个跨度)之前和之后的{和}之前和之后,所以我已经完成了这个:

$('span.HQ2').prepend('<span class="pended">&lt;</span>').append('<span class="pended">&t;</span>').siblings('.HQ1').prepend('<span class="pended">&#123;</span>').append('<span class="pended">&#125;</span>').css('color','#217b26');

问题是结果不是我预期的结果,因为第二个追加和前置不起作用,这些只有在我删除span标签并离开&#34; {&#34;和&#34;}&#34;单独。 .css()按预期工作,因此使用.siblings()正确完成选择。我认为问题可能依赖于.siblings()给我的结果,也许它不接受前缀和附加HTML标签或其他东西。我不知道......

你可以开导我吗? 非常感谢你。

2 个答案:

答案 0 :(得分:0)

尝试&#39; \&#39;在大于和小于标记之前。这将确保它们被解释为文本:

&#13;
&#13;
$('span.HQ2').prepend('<span class="pended">\<</span>').append('<span class="pended">\></span>').siblings('.HQ1').prepend('<span class="pended">&#123;</span>').append('<span class="pended">&#125;</span>').css('color', '#217b26');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="apparatus type-substantive">
<span class="reading HQ1">I there’s the </span>

<span class="reading TTQ1 BQ1">ay, there's the </span>

<span class="reading HQ2 BQ2 BF BE HaF MW GBE HJ DB4 BR PE TW TS TTQ2 TTF RSM"> that is the </span>
</span>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

今天我发现了为什么这不起作用......显然我忘了我后来在同一个代码中有一段jquery阻止我这样做...我已经被我自己的代码所欺骗。 :/ 无论如何,谢谢大家。