2015-08-18 113 views
1

我有一個要求用紅色星號標記。我需要在我的應用程序中使用必需字段的標籤。應用程序中有很多形式。我正在嘗試使用下面的代碼jquery。我想在每個所需標籤上添加所需的(*)

$(".required").each(function(){ 
    $(this).prepend("<span class='red'>*</span>"); 
    }); 

任何人都可以幫助我應用這個使用CSS。幫助將不勝感激。

+2

然後請出示您的HTML,所以我們可以幫忙而不用猜測。 –

+1

*「...我有要求的類..」*'所需的'類或'必需的'屬性? – Abhitalks

回答

6

爲什麼不只是CSS?

label.required::before { 
 
    content: '*'; 
 
    margin-right: 4px; 
 
    color: red; 
 
}
<form> 
 
    <label for="input1" class="required">Label One</label> 
 
    <input type="text" id="input1" /> 
 
</form>

+0

IE8或更早版本不支持':: before'僞元素。因此,請確保您的客戶或客戶使用的是半瀏覽器; o) – ne1410s

+1

Egads。 IE8? o_0 – isherwood

+1

@ ne1410s這隻適用於雙冒號語法。如果需要,仍然可以使用':before'作爲後備:http://caniuse.com/#feat=css-gencontent –

1

我會使用類似下面的JQuery。 (儘管它確實取決於確切的HTML代替當然)。

$(".required").append(
    $("<span>").addClass("red").text("*"); 
); 

然後爲CSS,只需

.required.red { color: rgb(255,0,0); } 

注:CSS中的顏色屬性可以在各種不同的方式來指定。 rgb方法只是我的默認偏好。

3

雖然@伊舍伍德的回答符合你的要求,這裏是一個有趣的替代方法:

使用required屬性您input!而非一類。通過float反轉label位置,然後在標籤上使用::after僞元素,該僞元素跟隨具有所需屬性集的輸入。

演示

div.form { width: 240px; } 
 
div.form input { 
 
    float: right; 
 
} 
 
input[required] + label::after { 
 
    content: '*'; 
 
    display: inline-block; 
 
    color: red; 
 
} 
 
br { 
 
    clear: both; } 
 
}
<div class="form"> 
 
    <input id="i1" /> 
 
    <label for="i1">Label: </label> 
 
    <br> 
 
    <input id="i1" required /> 
 
    <label for="i1">Label: </label> 
 
    <br> 
 
    <input id="i1" /> 
 
    <label for="i1">Label: </label> 
 
    <br> 
 
    <input id="i1" required /> 
 
    <label for="i1">Label: </label> 
 
</div>

+4

不錯。這種方法更好地支持HTML5表單驗證。 – isherwood

+0

這應該是現在接受的答案! –

0

如果你使用的引導.. 它作爲這個簡單..

<label> Label Name <span class="symbol required"></span></label> 
相關問題