sac*_*ach 5 macos cocoa objective-c webview
我在我的应用程序中使用cocoa webview进行富文本编辑.只是与webkit中可用的innerHtml和outerHtml方法混淆.
任何人都可以解释有什么区别
[(DOMHTMLElement *)[[[webView mainFrame] DOMDocument] documentElement] outerHTML];
Run Code Online (Sandbox Code Playgroud)
和
[(DOMHTMLElement *)[[[webView mainFrame] DOMDocument] documentElement] outerText];
Run Code Online (Sandbox Code Playgroud)
lax*_*ine 10
innerHTML是DOM元素的一个属性,表示元素内部的HTML,即开始和结束标记之间的HTML.它已被广泛复制,但实现方式各不相同(可能因为它没有公布的标准[1]),尤其是它们如何处理元素属性.
outerHTML类似于innerHTML,它是一个元素属性,包括打开结束标记以及内容.它没有像innerHTML那样被广泛复制,所以它只是或多或少的IE.
<p id="pid">welcome</p>
innerHTML of element "pid" == welcome
outerHTML of element "pid" == <p id="pid">welcome</p>
Run Code Online (Sandbox Code Playgroud)
和哪里作为
innerText 容器的文本内容.
outerText 在读取时与innerText相同; 分配新值时替换整个元素.
<p id="pid">welcome</p>
innerText of element "pid" == welcome
outerText of element "pid" == welcome
Run Code Online (Sandbox Code Playgroud)
小智 6
假设我们有一个用html加载到webview的页面
<html>
<head><title>Your Title</title></head>
<body>
<h1>Heading</h1>
<p id="para" >hi <b>Your_Name</b></p>
</body>
<html>
Run Code Online (Sandbox Code Playgroud)
现在.
[(DOMHTMLElement *)[[webView mainFrame] DOMDocument] documentElement]
Run Code Online (Sandbox Code Playgroud)
将返回DOMHTMLElement"html"和
outerHTML将返回完整的html为
<html>
<head><title>Your Title</title></head>
<body>
<h1>Heading</hi>
<p id="para">hi <b>Your_Name</b></p>
</body>
<html>
Run Code Online (Sandbox Code Playgroud)
outerText将返回html为
标题为Your_Name
例如,如果我们在这种情况下采用p标签的例子
outerHTML will return - <p id="para">hi <b>Your_Name</b></p>
outerText will return - hi Your_Name
innerHTML will return - hi <b>Your_Name</b>
innerText will return - hi Your_Name
Run Code Online (Sandbox Code Playgroud)
我已经在示例的帮助下对其进行了解释,其中这四个术语的定义已经在下面的答案中解释过了.