如何使用css仅定位div内的特定<span>标签?

时间:2015-05-01 07:32:38

标签: javascript jquery html css css3

我想只定位div中的第一级标签。这是我的代码:

<div class="main">
 <span id="j_id0:j_id42">
    <span>Customer Info</span>
 </span>
 <span id="j_id0:j_id4">
    <span>Billing Address</span>
    <div>Text</div>
 </span>
 <span id="j_id0:j_id61">
    <span id="j_id4:22df">Shipping Address</span>
    <div>Text</div>
 </span>

想要使用动态ID而不是内部span标记来定位所有span标记。那就是我想在主div中为每个span标签的第一次出现(带有id的那个)添加一些特定的css属性。这有可能使用CSS吗?如果不是如何使用javascript做到这一点?

请注意,内部span标记内可能还有其他ID。只想定位<span id="j_id0:j_id42"><span id="j_id0:j_id4"><span id="j_id0:j_id61">。这只是主要div中第一次出现的跨度。

3 个答案:

答案 0 :(得分:4)

最简单的方法是使用>

.main > span{}

想要使用动态ID定位所有span标记

如果我们考虑它,那么您可以将其更改为:

.main span[id]{}

我想在主div中添加一些特定的css属性给每个span标签的第一次出现(带有id的那个)

然后你可以使用它:

.main span[id]:first-child{}

上次编辑:

只想定位<span id="j_id0:j_id42"><span id="j_id0:j_id4"><span id="j_id0:j_id61">

.main span[id] span{}

&#13;
&#13;
.main span[id] span{color:red; font-weight:bold;}
&#13;
<div class="main">
  <span id="j_id0:j_id42">
    <span>Customer Info</span>
  </span>
  <span id="j_id0:j_id4">
    <span>Billing Address</span>
  <div>Text</div>
  </span>
  <span id="j_id0:j_id61">
    <span id-"id21">Shipping Address</span>
  <div>Text</div>
  </span>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您可以尝试.main span[id^="j_id"] { ... }

答案 2 :(得分:0)

对于具有动态ID的所有span标记:

.main > span or span[id^="j_id0:j_"]

对于具有动态ID的特定span标记。 k从1..n

.main > span:nth-child(k)