遇到麻烦。尝试检查标签元素是否在其中的任何位置包含“*”,如果父div具有data-required =“1” - 如果它什么都不做的话。如果没有添加“*”。
小提琴 - http://jsfiddle.net/9ekvrm8x/6/
$("div[data-required='1'] label").prepend( "* " );
答案 0 :(得分:4)
这应该这样做:
$("div[data-required='1'] label:not(:contains('*'))").prepend( "* " );
它只匹配不已经有星号的标签。
答案 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( "* " );