我正在研究一些jQuery代码来打开:



<blockquote>
  Quote
  <cite>Author</cite>
</blockquote>





变成:



<blockquote>
  <q>Quote</q>
  <cite>Author</cite>
</blockquote>





到目前为止,我一直在尝试遍历每个块引用,分离<cite>元素,使用jQueries wrapInner函数将其余的字符串包装在<q>元素中,然后重新附加<cite>元素。

最终目标是执行类似<http://24ways.org/2005/swooshy-curly-quotes-without-images/>的操作。除了使用jQuery自动执行.bqstart.bqend的放置。

最佳答案

您可以检查nodeTypechildNode属性,如果该值为3,则该节点为textNode

$('blockquote').contents().filter(function() {
   return this.nodeType === 3 && $.trim(this.nodeValue).length;
}).wrap('<q/>');

09-26 16:43