You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过jQuery查找含指定属性值元素并为对应表格设置红色边框

问题解答:为包含指定属性元素的表格添加红色边框

我来帮你修正代码里的问题,顺便给你两种更靠谱的实现方式:

先说说你原代码的两个核心问题

  • 属性选择器写法错误:has('giveBorder="yes"') 不是有效的jQuery选择器,要匹配带指定属性值的元素,得用 [属性名="属性值"] 的格式,也就是 input[giveBorder="yes"]
  • 父元素获取逻辑反了:你是在遍历div元素,而table是div的子元素,不是父元素,所以不能用parent('table'),得用find('table')来获取div内部的表格

方式一:遍历div元素逐一检查

这种方式和你原本的遍历思路一致,修正逻辑后代码如下:

// 遍历页面所有div元素
$('div').each(function() {
  // 获取当前div下的表格元素
  const $targetTable = $(this).find('table');
  // 检查表格内是否存在giveBorder="yes"的input
  if ($targetTable.find('input[giveBorder="yes"]').length > 0) {
    // 给符合条件的表格设置红色边框
    $targetTable.css('border', '2px solid red');
  }
});

方式二:直接筛选目标表格(更简洁)

不用遍历div,直接用:has()选择器找到所有包含目标元素的表格,一步到位:

// 找到所有包含input[giveBorder="yes"]的表格,直接设置红色边框
$('table:has(input[giveBorder="yes"])').css('border', '2px solid red');

额外小建议

HTML里的自定义属性推荐遵循data-*规范,比如把giveBorder="yes"改成data-give-border="yes",这样更符合标准,后续使用时选择器就写成input[data-give-border="yes"]即可。

内容的提问来源于stack exchange,提问作者newbie 22

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:26:38