jQuery:无法清空嵌套段落

标签 jquery html

我正在尝试清空 div 中的一个段落。段落包含其他元素:div、文本、图像、跨度等。

<div id="div_id">test
    <p>
        text inside the paragraph
        <div id="text">hello hello hello</div>
        <img src="http://www.mygifto.com/upload/product/26922984_l.jpg" width="200" height="200" alt="Banner" />
    </p>
    hi
</div>
out of div

最简单的解决方案应该是使用 empty() 函数,但它根本不起作用,它只删除段落内的文本。

$('#div_id p').empty();

我必须指定 div_id,因为页面中还有其他 p,它们不应该为空。

Fiddle here

我试过

$('#div_id p').children('*').remove();

但没有成功。如何删除段落中的所有元素?

最佳答案

问题是因为您的 HTML 无效。内联 p 中不能有 block 级 div 元素。

#text div 更改为带有 display: blockspan,它会起作用.

<p>
    <span id="text">hello hello hello</span>
    <img src="http://www.mygifto.com/upload/product/26922984_l.jpg" width="200" height="200" alt="Banner" />
</p>
#text {
    border: 1px solid red;
    display: block;
}

Updated fiddle

关于jQuery:无法清空嵌套段落,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17854656/

相关文章:

html - 如何在更改分辨率时使 div 响应

javascript - HTML/Javascript 在点击事件上打印表单

javascript - 无法在 Android 设备的后退按钮上退出 phonegap 应用程序

jquery - 如何使用 jQuery 将对 WCF Web 服务的 AJAX 调用添加到 ASP.NET 网页?

jquery - Phonegap、cookie、跨域请求

javascript - onclick 事件仅适用于第一个产品,不适用于其他获取的数据

javascript - 当页面自动加载时,页面中的所有输入控件都应该使用 jQuery 隐藏

html - 使用标签元素创建开关

javascript - jquery 每个 json 对象不执行任何操作

javascript - 无法检索 json 数据