我试图改变我无法控制的小部件的
HTML输出.基本上问题是窗口小部件输出的HTML使用了p内部的div,这是无效的.
<div class="widget_output">
<ul>
<li>
<p>
<div>This is a random item</div>
<div>This is a random item</div>
<div>This is a random item</div>
<div>This is a random item</div>
</p>
</li>
<li>
<p>
<div>This is a random item</div>
<div>This is a random item</div>
<div>This is a random item</div>
<div>This is a random item</div>
</p>
</li>
</div>
我的想法是将div更改为内联元素的跨度,然后HTML应该是有效的.我一直在寻找jquery尝试选择类,然后将这些div转换为spans.任何人都可以指出我正确的方向或实现类似的东西的教程吗?
解决方法
你不需要jQuery,你只需使用正则表达式替换< div>标签包含< span>标签.试试这个:
var widgetHTML = $('div.widget_output').html();
widgetHTML = widgetHTML
.replace(/<div>/g,'<span>')
.replace(/<\/div>/g,'</span>');
$('div.widget_output').html(widgetHTML);
演示:http://jsfiddle.net/codef0rmer/daYL4/3/