每个回调函数都会收到一个对象,表示选择的HTML标签或相关部分,该对象称为回调参数。本文为您介绍Element、TextChunk和Comments等回调参数。
说明
- 所有的回调参数必须在回调函数中调用才有效,在回调函数以外的地方调用回调参数对象的属性或方法会导致JS异常。您可以将需要的部分保存到其他JS对象或数据结构中。
- 本文中出现的所有option都表示一个对象,对象中的属性html可以被设置为true或false,用于表示该内容是否被解释为HTML内容或纯文字内容。如果将html设置为false,HTMLStream会对其做
html encoding/esacping
。
Element
- 定义
该对象会在Element回调函数被调用时提供给您,表示某个被选择的HTML标签。
- 属性
tagName(string)
:标签名字。attributes(iterator)
:返回一个迭代器,该迭代器返回所有的属性[name, value]
。removed(bool)
:只读,表示该元素是否被删除。删除一个元素使用remove,多数情况下需要根据这个标签跳过该元素,因为元素已经被删除。namespaceURI
:只读,表示该元素的命名空间URI,例如svg或script元素。
- 方法
- 修改属性
- getAttribute(name):查询某个元素的属性名称。
- setAttribute(name, value):设置和修改某个元素的属性名称。
- hasAttribute(name):查询某个元素的属性名称是否存在。
- removeAttribute(name):删除某个元素的属性名称。
说明 属性名称和值要求必须是string类型。 - 修改内容
- before(data, option):将内容插入到该元素之前,即元素的标签之前。
- after(data, option):将内容插入到该元素之后,即元素的标签之后。
- prepend(data, option):将内容插入到该元素的内容之前,即元素的开启标签结束的后方,例如
<div>(prepend) |aaaa|(append)</div>
。 - append(data, option):将内容插入到该元素的内容之后,即元素的结束标签结束的前方,例如
<div>(prepend) |aaaa|(append)</div>
。 - replace(data, option):替换整个元素,包括标签和嵌套的标签都会被替换。
- setInnerContent(data, option):设置元素内容,标签和属性不变。
- remove():删除该元素,removed属性为true。
- removeAndKeepContent():删除元素的标签和属性,保留内容。
- 修改属性
TextChunk
- 定义
该对象会在text回调函数被调用时提供给您,代表某个被选择的HTML的Text部分。
- 属性
removed(bool)
:只读,表示该元素是否被删除。删除一个元素使用remove,多数情况下需要根据这个标签跳过该元素,因为元素已经被删除。text(string)
:只读,表示该text的内容。该text有可能只是一部分text,如果此字符串为空,代表这是最后一个chunk,您可以趁机把所有的text拼接起来。lastInTextNode(bool)
:只读,表示是否为最后一个text。如果为true,text属性返回空字符串。
- 方法
修改内容的方法如下:
- before(data, option):将内容插入到该元素之前,即元素的标签之前。
- after(data, option):将内容插入到该元素之后,即元素的标签之后。
- replace(data, option):替换整个元素,包括标签和嵌套的标签都会被替换。
- remove():删除该元素,removed属性为true。
Comments
- 定义
该对象会在comments回调函数被调用时提供给您,代表某个被选择的HTML的注释部分。
- 属性
removed(bool)
:只读,表示该元素是否被删除。删除一个元素使用remove,多数情况下需要根据这个标签跳过该元素,因为元素已经被删除。text(string)
:可读可写,表示注释的内容或改变注释内容。
- 方法
修改内容的方法如下:
- before(data, option):将内容插入到该元素之前,即元素的标签之前。
- after(data, option):将内容插入到该元素之后,即元素的标签之后。
- replace(data, option):替换整个元素,包括标签和嵌套的标签都会被替换。
- remove():删除该元素,removed属性为true。
Doctype
- 定义
该对象会在doctype回调函数被调用时提供给您,代表某个被选择的HTML的Doctype部分。
- 属性
name(string)
:只读,表示doctype名字。publicId(string)
:只读,如果有表示public identifier,否则返回null。systemId(string)
:只读,如果有表示system identifier,否则返回null。
Docend
- 定义
该对象会在docend回调函数被调用时提供给您,代表整个HTML的末尾部分。
- 方法
append(string, option) :用于向HTML流末尾加入若干内容。