【问题标题】:Is it possible to dynamically change the font on radio buttons with CSS?是否可以使用 CSS 动态更改单选按钮上的字体?
【发布时间】:2016-07-17 06:26:55
【问题描述】:

我试图用 jquery (How do I get javascript to run more than once?) 来做到这一点,但有些人说用 CSS 可以更容易地做到这一点。 Right now I have JS that dynamically adds and removes the ez-selected class as seen below whenever a radio button is selected.这用于用图像替换按钮。

有没有办法使用 CSS 以便在添加 ez-selected 类时将 span 标签中的文本变为粗体,然后在删除 ez-selected 类时移除粗体?我无法更改 HTML 结构,因为它已编码在我的购物车软件中。谢谢!

编辑:是否有任何类型的 CSS 选择器可以设置最接近检查输入的跨度样式?我知道 + 它可以在另一个元素之后选择一个元素,但是有没有办法在选中的单选按钮之后选择下一个跨度元素,即使该跨度在另一个 div 中?

  <div class="row">
        <input name="TXT870" type="hidden" value="Option 1">
        <div class="col-xs-2">
            <div class="ez-radio (ez-selected)">
                <input class="clearBorder ez-hide" name="CAG3" onclick=
                "javascript:document.additem.CAG3QF1.value='1'; CheckPreValue(this, 2, 0);"
                type="radio" value="870_625_0_625">
            </div><input name="CAG3QF1" type="hidden" value="0">
        </div>
        <div class="col-xs-7">
            <span>Option 1</span> <input class="transparentField" name=
            "CAG3TX1" readonly size="14" type="text" value=" - Add $5.00">
        </div>
    </div>

【问题讨论】:

    标签: css


    【解决方案1】:

    .ez-selected div 不是跨度的先前兄弟或父...所以 NO...你不能。

    不是这种结构

      <div class="row">
            <input name="TXT870" type="hidden" value="Option 1">
            <div class="col-xs-2">
                <div class="ez-radio ez-selected">
                    <input class="clearBorder ez-hide" name="CAG3" onclick=
                    "javascript:document.additem.CAG3QF1.value='1'; CheckPreValue(this, 2, 0);"
                    type="radio" value="870_625_0_625">
                </div><input name="CAG3QF1" type="hidden" value="0">
            </div>
            <div class="col-xs-7">
                <span>Option 1</span> <input class="transparentField" name=
                "CAG3TX1" readonly size="14" type="text" value=" - Add $5.00">
            </div>
        </div>
    

    您必须先遍历 DOM,而 CSS 无法做到这一点,因为没有 parent selector

    【讨论】:

    • 这正是我的想法!我查看了 CSS 的父选择器,但没有,所以我认为我必须使用 JS。每当添加 ez-selected 类时,我试图通过向父 .row div 添加一个粗体类来使用 JS 来做到这一点。我得到了它的一些工作,但仍然有问题。有兴趣的可以点击我第一篇文章中的链接查看我使用的JS代码。
    猜你喜欢
    • 2016-01-14
    • 2011-04-04
    • 2021-09-23
    • 2019-09-19
    • 2014-09-04
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 1970-01-01
    相关资源
    最近更新 更多