使用包装,但如果具有父级并且是,则改为包裹锚点
当wordpress将一个图像添加到post时,它将其包装在一个锚标记中。 像这样:
我想用div包装锚点并在图像后添加叠加跨度。 像这样:
以下代码就是这样做的。
$('#post a').has('img').wrap('').find('img').after('');
但是,当您将链接图像添加到wordpresspost时,它不会将图像包装在锚标记中,因此不起作用。 如果没有锚标记,则应该换行图像标记。 像这样:
当然可以定位img标签,但如果是这样,img标签具有锚父级的实例,锚不会被div包装。 知道怎么包装锚如果它里面有一个img,如果它没有它应该只包装img标签?
提前致谢。
这很丑,但它应该作为你的第二个选择器:
$('img:not(a img)');
像这样的东西应该工作:
$('#post img').each(function() { if ($(this).parent().is('a')) { $(this).parent('a') .wrap(''); }else{ $(this).wrap(''); } $(this).after(''); });
迭代所有图像,并包含父元素(如果有),否则它包装图像元素,并在两个实例中的
标记之后添加叠加。
或者如果您希望将其包装在一个语句中:
$('#post img').map(function() { return $(this).parent('a').length?$(this).parent('a'):$(this); }).wrap('').end() .after('')