0

http://jsfiddle.net/ySLkQ/16/

jQuery

if ($("h1.change:contains('-')")) {
    $("h1.change").append(" it's negative");
} else if ($("h1.change:not(contains('-'))")) {
    $("h1.change").append(" it's positive");
}

HTML:

<h1 class="change">-30</h1>
<h1 class="change">30</h1>

基本的に何をやっても最後<h1>は必ずマイナス表示

4

4 に答える 4

1

これを使って

$('h1.change').html(function(val, html){
    return html + ( html.indexOf('-') == -1 ? " it's positive" : " it's negative" )
});

デモ:フィドル

于 2013-04-25T05:36:26.653 に答える
0

$.each()関数を通じてこれを達成することもできます。h1同じセレクター条件で複数の要素に文字列を追加したいので、これはより良いです。単一のステートメントを記述しようとすると、必要でないときに複数の要素に同じ値を書き込むなどの問題が発生する可能性があります。$.each()十分に効率的ではないかもしれませんが。@DThoughtによる回答は、すでに回答として受け入れている効率のためにはるかに優れています。

$("h1.change").each(function(index){
    if ($(this).text().indexOf("-")!=-1) {
        $(this).append(" it's negative");
    }else{
        $(this).append(" it's positive");
    }
});
于 2013-04-25T05:50:12.040 に答える