jsHelper
jsHelper
类用于生成 js 代码的助手,可以方便的操作 DOM 元素。
构造
构造方法
定义
php
public function __construct(null|string|js|array ...$codes);
参数
$codes
:JS 代码,可以是字符串或js
对象,也可以是可被忽略的null
,或者是以上类型的数组。
示例:
php
$js1 = new jsHelper('console.log("hello world");');
$js2 = new jsHelper
(
'const message = "hello"',
'const name = "world";',
js('console.log(message, name)'),
);
辅助方法
通过与 jsHelper
类同名的辅助函数来快速创建 jsHelper
对象。
定义
php
function jsHelper(null|string|js|array ...$codes): jsHelper;
参数
$codes
:JS 代码,可以是字符串或js
对象,也可以是可被忽略的null
,或者是以上类型的数组。
返回值
js
对象。
例如:
php
jsHelper
(
'const message = "hello"',
'const name = "world";',
js('console.log(message, name)'),
);
提示
推荐使用辅助方法 jsHelper()
来创建 jsHelper
对象,相比较 new jsHelper()
语法,辅助方法更加简洁。
方法
toggleHide
隐藏指定的元素。
定义
php
public function toggleHide(string $selector): self
参数
$selector
:要隐藏的元素的选择器。
返回值
self
自身,支持链式调用。
示例:
php
jsHelper()->toggleHide('#message');
// 生成的 JS 代码:$('#message').hide();
toggleShow
切换显示或隐藏指定的元素,如果不指定参数则自动判断。
定义
php
/** 自动切换显示或隐藏指定的元素。 */
public function toggleShow(string $selector): self
/** 指定判断代码决定是否显示或隐藏指定的元素。 */
public function toggleShow(string $selector, string $toggleCode): self
参数
$selector
:要显示的元素的选择器。$toggleCode
:判断代码,如果计算后返回true
则显示,否则隐藏。
返回值
self
自身,支持链式调用。
addClass
给指定的元素添加 CSS 类。
定义
php
public function addClass(string $selector, string $class): self
参数
$selector
:要添加 CSS 类的元素的选择器。$class
:要添加的 CSS 类。
返回值
self
自身,支持链式调用。
removeClass
从指定的元素移除 CSS 类。
定义
php
public function removeClass(string $selector, string $class): self
参数
$selector
:要移除 CSS 类的元素的选择器。$class
:要移除的 CSS 类。
返回值
self
自身,支持链式调用。
toggleClass
切换指定的元素的 CSS 类。
定义
php
/** 切换指定的元素的 CSS 类。 */
public function toggleClass(string $selector, string $class): self
/** 指定判断代码决定是否切换指定的元素的 CSS 类。 */
public function toggleClass(string $selector, string $class, string $toggleCode): self
参数
$selector
:要切换 CSS 类的元素的选择器。$class
:要切换的 CSS 类。$toggleCode
:判断代码,如果计算后返回true
则添加,否则移除。
返回值
self
自身,支持链式调用。
setHtml
设置指定元素的 HTML 内容。
定义
php
public function setHtml(string $selector, string $html): self
参数
$selector
:要设置 HTML 内容的元素的选择器。$html
:要设置的 HTML 内容。
返回值
self
自身,支持链式调用。
setText
设置指定元素的文本内容。
定义
php
public function setText(string $selector, string $text): self
参数
$selector
:要设置文本内容的元素的选择器。$text
:要设置的文本内容。
返回值
self
自身,支持链式调用。
setVal
设置指定元素的值。
定义
php
public function setVal(string $selector, string $val): self
参数
$selector
:要设置值的元素的选择器。$val
:要设置的值。
返回值
self
自身,支持链式调用。
setCss
设置指定元素的 CSS 属性。
定义
php
/** 设置指定元素的 CSS 属性。 */
public function setCss(string $selector, string $name, string $value): self
/** 设置指定元素的多个 CSS 属性。 */
public function setCss(string $selector, array $css): self
参数
$selector
:要设置 CSS 属性的元素的选择器。$name
:要设置的 CSS 属性名称。$value
:要设置的 CSS 属性值。$css
:要设置的 CSS 属性数组,键为属性名称,值为属性值。
返回值
self
自身,支持链式调用。
setAttr
设置指定元素的标签属性。
定义
php
/** 设置指定元素的属性。 */
public function setAttr(string $selector, string $name, string $value): self
/** 设置指定元素的多个属性。 */
public function setAttr(string $selector, array $attrs): self
参数
$selector
:要设置属性的元素的选择器。$name
:要设置的属性名称。$value
:要设置的属性值。$attrs
:要设置的属性数组,键为属性名称,值为属性值。
返回值
self
自身,支持链式调用。
removeAttr
移除指定元素的标签属性。
定义
php
public function removeAttr(string $selector, string $name): self
参数
$selector
:要移除属性的元素的选择器。$name
:要移除的属性名称。
返回值
self
自身,支持链式调用。
setProp
设置指定元素的属性。
定义
php
/** 设置指定元素的属性。 */
public function setProp(string $selector, string $name, string $value): self
/** 设置指定元素的多个属性。 */
public function setProp(string $selector, array $props): self
参数
$selector
:要设置属性的元素的选择器。$name
:要设置的属性名称。$value
:要设置的属性值。$props
:要设置的属性数组,键为属性名称,值为属性值。
返回值
self
自身,支持链式调用。
removeProp
移除指定元素的属性。
定义
php
public function removeProp(string $selector, string $name): self
参数
$selector
:要移除属性的元素的选择器。$name
:要移除的属性名称。
返回值
self
自身,支持链式调用。
triggerEvent
触发指定元素的事件。
定义
php
/** 触发指定元素的事件。 */
public function triggerEvent(string $selector, string $event): self
/** 触发指定元素的事件并传递数据。 */
public function triggerEvent(string $selector, string $event, mixed $data): self
参数
$selector
:要触发事件的元素的选择器。$event
:要触发的事件名称。$data
:要传递的数据。·
返回值
self
自身,支持链式调用。
onEvent
为指定元素绑定事件。
定义
php
/** 为指定元素绑定事件。 */
public function onEvent(string $selector, string $event, string|jsCallback $callback): self
/** 为指定元素绑定委托事件。 */
public function onEvent(string $selector, string $event, string $targets, string|jsCallback $callback): self
参数
$selector
:要绑定事件的元素的选择器。$event
:要绑定的事件名称。$targets
:要绑定委托事件的目标元素的选择器。$callback
:要绑定的事件回调函数。
返回值
self
自身,支持链式调用。
offEvent
为指定元素解绑事件。
定义
php
/** 为指定元素解绑事件。 */
public function offEvent(string $selector, string $event): self
/** 为指定元素解绑事件(指定回调函数)。 */
public function offEvent(string $selector, string $event, string $callback): self
/** 为指定元素解绑委托事件(指定回调函数和目标选择器)。 */
public function offEvent(string $selector, string $event, string $targets, string $callback): self
参数
$selector
:要解绑事件的元素的选择器。$event
:要解绑的事件名称。$targets
:要解绑委托事件的目标元素的选择器。$callback
:要解绑的事件回调函数。
返回值
self
自身,支持链式调用。