[英]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.