【问题标题】:How to style a field, which div id is unknown? [closed]如何设置字段的样式,哪个 div id 未知? [关闭]
【发布时间】:2014-01-18 12:36:32
【问题描述】:

我想为表格中的数据设置样式,但其 div id 未知/不可用,并且无法写入。这是页面来源:

<tbody>
    <tr>        
        <td style="font-size:12px; text-align:center;" name="">
            <div style="padding:0; margin:0;">Ford</div>
            <div style="display:none; padding:0; margin:0;"></div>
        </td>
        <td style="font-size:12px; text-align:center;" name="">
            <div style="padding:0; margin:0;">Crown Victoria</div>
            <div style="display:none; padding:0; margin:0;"></div>
        </td>
        <td style="font-size:12px; text-align:center;" name="">
            <div style="padding:0; margin:0;">1234JESS123456789</div>
            <div style="display:none; padding:0; margin:0;"></div>
        </td>
    </tr>
</table>

我必须在最后一个 td 上应用以下 javascript。

<div id="output">ABC123DDD8877</div>

$('#output').html(($('#output').html()).replace(/[0-9]/gi, '<strong style="font-size:20pt">$&</strong>')) 

谁能帮帮我?

【问题讨论】:

  • 你想应用什么样式和哪个div
  • 所以ID是未知的。那么, 知道什么?
  • 您要为哪个div 设置样式,第一个、第二个或两者兼而有之?你想应用什么样的样式?
  • 你知道表的id吗?或者包含表格的任何元素的 id?
  • 你为什么要做 HTML 字符串操作?我真的建议您阅读一些基本教程,并了解 DOM 的工作原理。

标签: javascript html css


【解决方案1】:

有一种方法可以做到这一点,但我建议您不要这样做。负责任的方法是找到一种方法将挂钩添加到父元素 - ID 或类。

如果你觉得没有其他办法,那么……你必须使用属性选择器:

td div[style]{
  color:blue;
  }
td div[style*="display"]{
  color:red;
  }

在示例一中,您定位一个包含 style 属性的 div。

在示例二中,您通过 style 属性的存在来定位一个元素,并查询该 style 属性是否包含值 display - 因为在您的示例中,这是仅区分两个style 属性之间的区别。

本质上,您通过定位元素的内联样式来设置元素的样式。怪物就是这样诞生的,所以请另辟蹊径。

【讨论】:

    【解决方案2】:

    你可以这样试试:

    如果您希望所有 div 都设置样式,请尝试以下操作:

    table td div{
        //Style here
    }
    

    Demo Here

    如果您不想设置所有 divs 的样式并且只设置第一个 div,请尝试这样:

    table td div:first-child{
       // your style
    }
    

    Fiddle Demo

    【讨论】:

    • tds 中的所有 div?我没有从这个问题中得到答案。
    • 是的 divs 是他的数据字段,所以都是字段 :)
    • "我想为数据文件设置样式..." ;-)
    • @JonathanLonowski 我已经更新了我的答案:)
    【解决方案3】:

    如果您知道它是哪个 div,您可以对第一个孩子或最后一个孩子做一些事情。这是以前的一篇关于它的帖子。 How to select first and last TD in a row?

    【讨论】:

    • 这是 12 个 tds 中的第 5 个。
    【解决方案4】:

    尝试通过 CSS 像这样选择它:

    tbody tr td div {
        ...
    }
    

    【讨论】:

    • 亲爱的,感谢您的回复。我是新人,无法及时回复。这是我的代码和表格:jsfiddle.net/CWRLR/8
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-26
    • 1970-01-01
    • 1970-01-01
    • 2020-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多