簡體   English   中英

如果我們在一個p標簽內放置一個div,Jquery html()方法不起作用?

[英]Jquery html() method not working if we place a div inside a p tag?

這是我的HTML:

  <div class="accor">
  </div>
  <div class="accordionContentTwoCol">
   <p class="noEdit">
     <div>   name : </div>
  </p>
 <div>

我需要找到accordionContentTwoCol div的html內容(我只能訪問accor )。
如果我嘗試在accordionContentTwoCol div中打印html,如下所示:

alert("html inside accordionContentTwoCol :"+$('.accor').next().html());

它提供如下輸出:
在此輸入圖像描述

雖然accordionContentTwoCol中的HTML是:

<p class="noEdit">
         <div>   name : </div>
</p>

為什么會這樣?

查找允許的包含關系的權威位置是HTML規范。 例如,參見http://www.w3.org/TR/html4/sgml/dtd.html 它指定哪些元素是塊元素,哪些元素是內聯元素。 對於這些列表,請搜索標記為“HTML內容模型”的部分。

對於P元素,它指定以下內容,表示P元素僅允許包含內聯元素。

<!ELEMENT P - O (%inline;)*            -- paragraph -->

這與http://www.w3.org/TR/html401/struct/text.html#h-9.3.1一致,它說P元素“不能包含塊級元素(包括P本身)。”

為什么<p>標簽里面不能包含<div>標簽呢?

你使用的標記是錯誤的。 <div>不能與<p>標簽嵌套。

嘗試使用

<div style="display: inline">

否則,請使用<span>而不是<div>

HTML 4.01規范第9.3.1節

P元素代表一個段落。 它不能包含塊級元素 (包括P本身 )。

如何訪問`<div> `標簽內的`<p> `標簽? </p></div><div id="text_translate"><p></p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"><div class="snippet-code"><pre class="snippet-code-js lang-js prettyprint-override"> $("p div").click(function() { $(this).css({ "color": "#F00", "font": "bold 20px verdana", "background-color": "#0FF" }); });</pre><pre class="snippet-code-html lang-html prettyprint-override"> &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"&gt;&lt;/script&gt; &lt;p&gt;Hello&lt;div&gt; World!&lt;/div&gt;&lt;/p&gt;</pre></div></div><p></p><p> 當我單擊“世界”文本時,什么也沒有發生,當我檢查元素時,它說:</p><pre class="lang-html prettyprint-override"> &lt;p&gt;Hello&lt;/p&gt; &lt;div&gt; World&lt;/div&gt; &lt;p&gt;&lt;/p&gt;</pre><p> 注意那些&lt;p&gt;標簽。 怎么會這樣?</p></div>

[英]How to access a `<div>` tag inside a `<p>` tag?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 jQuery:使用insertAfter方法在div標簽內創建p標簽 如何將jQuery動畫對象放在HTML畫布或Div標簽內? 查找文本<p> div HTML/Jquery 中最近的一行 如何訪問`<div> `標簽內的`<p> `標簽? </p></div><div id="text_translate"><p></p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"><div class="snippet-code"><pre class="snippet-code-js lang-js prettyprint-override"> $("p div").click(function() { $(this).css({ "color": "#F00", "font": "bold 20px verdana", "background-color": "#0FF" }); });</pre><pre class="snippet-code-html lang-html prettyprint-override"> &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"&gt;&lt;/script&gt; &lt;p&gt;Hello&lt;div&gt; World!&lt;/div&gt;&lt;/p&gt;</pre></div></div><p></p><p> 當我單擊“世界”文本時,什么也沒有發生,當我檢查元素時,它說:</p><pre class="lang-html prettyprint-override"> &lt;p&gt;Hello&lt;/p&gt; &lt;div&gt; World&lt;/div&gt; &lt;p&gt;&lt;/p&gt;</pre><p> 注意那些&lt;p&gt;標簽。 怎么會這樣?</p></div> 如何在同一 div 中使用 jquery hover 和 html 標簽 CKEditor 4 將 html div 標簽更改為 p 標簽 使用Jquery在HTML中填充“p”標記 平滑滾動不適用於 p 標簽內的標簽 div 或 p 標記在 flex box 包裝內 jQuery自定義數據屬性在div標記內不起作用
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM