能否使用PHP QueryPath获取DOM元素的HTML5 data属性?
使用PHP QueryPath获取HTML5 data属性的方法
完全可以使用QueryPath获取HTML5的data属性,以下是两种可行的实现方式:
- 直接使用
attr()方法:传入完整的data属性名即可,示例代码:
// 假设已通过QueryPath选中目标节点$mydiv $attribute = $mydiv->attr('data-foo-attribute');
- 使用
data()简化方法:QueryPath支持将短横线分隔的属性名转为驼峰式调用,示例代码:
// 对应data-foo-attribute属性 $attribute = $mydiv->data('fooAttribute');
完整示例代码
require 'QueryPath/QueryPath.php'; $html = '<div data-foo-attribute="whatever"></div>'; $qp = qp($html); $mydiv = $qp->find('div'); // 方法1输出结果 echo $mydiv->attr('data-foo-attribute'); // 输出:whatever // 方法2输出结果 echo $mydiv->data('fooAttribute'); // 输出:whatever
若之前调用attr()方法失效,建议检查:
- 是否正确选中了目标DOM节点
- 使用的QueryPath版本是否过旧(确保为较新版本以支持HTML5属性)
内容的提问来源于stack exchange,提问作者Igor P.
相关产品推荐
相关产品推荐

