添加" *"使用jQuery的标签,如果元素不包含" *"

时间:2015-01-16 22:56:33

标签: javascript jquery

遇到麻烦。尝试检查标签元素是否在其中的任何位置包含“*”,如果父div具有data-required =“1” - 如果它什么都不做的话。如果没有添加“*”。

小提琴 - http://jsfiddle.net/9ekvrm8x/6/

$("div[data-required='1'] label").prepend( "* " );

3 个答案:

答案 0 :(得分:4)

这应该这样做:

$("div[data-required='1'] label:not(:contains('*'))").prepend( "* " );

它只匹配已经有星号的标签。

Fiddle

答案 1 :(得分:0)

如果我理解正确,你可以使用jquery contains

$("div[data-required='1'] label:contains('*')").prepend( "* " );

此外,您可以将:not:empty

一起使用

$("div[data-required='1'] label:not(:contains('*')):not(:empty)").prepend( "* " );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>test Me</p>
<div data-required="1">
    <label>E-mail Address</label>
</div>
<div data-required="1">
    <label class="test">E-mail Address</label>
</div>
<div data-required="1">
    <label></label>
</div>
<div>
    <label>E-mail Address *</label>
</div>
<div>
    <label>*E-mail Address</label>
</div>

答案 2 :(得分:0)

$("div[data-required='1'] label").not(":contains('*')").prepend( "* " );