0
                <form class="fin-search-input" method="post" action="../FinServlet">
                    <li><BR><input type="text" name="ticker" placeholder="Ticker*"></li>
                    <li><input type="text" name="fromDate" placeholder="From" id="fromDate"></li>
                    <li><input type="text" name="toDate" placeholder="To" id="toDate"></li>
                    <li><input type="submit" value="search" class="submitButton"></li>
                </form>

如何选择除最后一个以外的所有输入元素?这是我尝试过的:

.fin-search-input input:not(:last-of-type){
    height:13px !important;
    width:90%;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -moz-box-shadow:inset 2px 2px 2px #888;
    box-shadow:inset 2px 2px 2px #888;
  }

此 css 不适用于任何输入元素。

4

4 回答 4

2

您的选择器似乎是错误的,在您发布的 HTML 的情况下,每个 input:last-of-type在其父元素内。您需要选择input包含在:last-of-type li元素中的内容(我假设):

.fin-search-input li:not(:last-of-type) input {
    /* css */
}

JS 小提琴演示

于 2013-07-07T09:37:01.080 回答
1

你试过这个吗?

.fclass input:not(:last-of-type) { color:red } 
于 2013-07-07T08:34:01.727 回答
0

:last-child选择器应该可以工作。我已经检查过了。改用最后一个类型。:last-of-type选择器匹配其父级的特定类型的最后一个子级的每个元素。

检查这个小提琴

于 2013-07-07T08:38:29.163 回答
0

实际上,您当前的代码有效。

:last-child可以这样使用:not

小提琴

于 2013-07-07T08:38:59.693 回答