簡體   English   中英

jQuery:獲取 html 元素的普通 JS 格式

[英]jQuery: get the normal JS format of a html element

我正在使用 jQuery,除了一些東西外,一切正常。 有一些事情你不能用元素的 jQuery 格式,而只能用簡單的 JS 格式。 特別是在簡單的 JS 中使用hasAttributes()時。

這有效:

 let fooDiv = document.getElementsByTagName("div")[0]; console.log(fooDiv.hasAttributes()); //returns false as expected let barDiv = document.getElementsByTagName("div")[1]; console.log(barDiv.hasAttributes()); //returns true as expected
 <div>foo</div> <div id="id">bar</div>

這不會:

 let fooDiv = $(document.getElementsByTagName("div")[0]) //creates a jQ object console.log(fooDiv.hasAttributes()); //error let barDiv = $(document.getElementsByTagName("div")[1]) //creates a jQ object console.log(barDiv.hasAttributes()); //error
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div>foo</div> <div id="id">bar</div>

我知道 jQuery hasAttr()存在,但我想獲取 jQuery 對象的 JS 格式。 有很多不同之處,例如 jQuery 創建一個object ,否則它是一個 html 節點列表。

最初,我的問題是:

如何從 jQuery 獲取 html 節點列表或 html 元素或 html 元素的簡單 JS 格式?

為了擴展 blex 在評論中所說的內容......當使用 jQuery 選擇一個 HTML 元素時,原始 HTML 總是作為您分配給它的變量的一部分收集在一個數組中。 例如,使用您的代碼:

// grab the element or elements
let fooDiv = $(document.getElementsByTagName("div")[0]);

// lets see the HTML!
consoe.log( fooDiv[0] ); 

HTML 本身將在該數組中公開,允許直接訪問 HTML 及其屬性......例如:

console.log( fooDiv[0].innerHTML );

或者

console.log( fooDiv[0].tagName );

暫無
暫無

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM