"> "> " />

クラスが存在するかどうかをJqueryで確認する

IPが既に使用されているかどうかを確認する範囲とjqueryの検索スクリプトを持つIP管理スクリプトを持っています。このような範囲のIPの各行にクラスを追加します

<tr class="table_176 213.5.176.120 213.5.176.121 213.5.176.122 213.5.176.123 213.5.176.124" id="213.5.176.120-124" style="display:none;">
                        <td class="actualip" align="center" >213.5.176.120-124</td>
                        <td >5</td>
                        <td colspan="2" align="center" > Mike Burkett</td>
                        <td align="center" >RS96</td>
                        <td ></td>
                        <td align="center" >Open Ticket for </td>
                    </tr>

そして、次のJQを使ってください

$('#search').click(function() {
        $found = false;
        $ip = $('#value').val();
        if ( $("."+$ip).length ){
            alert("found");
        }

        if($found == false) {
            alert('The IP you searched for was not found!');
        }
    });

しかし、これは動作していないのですか?誰もがアイデアを持っていますか?

0
追加された 著者 kojiro,
基本的に問題#1はあなたのコードが有効ではないということです。それはクラスを持っていなかったので、有効なHTML3ではありません。クラスとIDは数字で始めることができないため、有効なHTML4ではありません。これは有効なHTML5に最も近いが、廃止された align 属性と非公開の文字参照。 (URLに裸のアンパサンドを使用しないでください)。
追加された 著者 kojiro,
$( '213.5.176.120')<=> class = "213 5 176 120"クラス名のドットは避けるべきです(またはjQセレクタでエスケープする)
追加された 著者 biziclop,
あなたのクラス名は無効です。数字で始めることはできません。 追加された 著者 Alessandro Vendruscolo,

4 答え

あなたの問題があなたのクラス名のドットによって引き起こされているとコメントが示唆しているように、IPアドレスをクラス名に格納する場合持っていると

   var ip = '213.5.176.120'; 
   if ($("tr[class*='" + ip + "']").length){
        alert("found");
    }

Demo - http://jsfiddle.net/eZCdf/

1
追加された

私の間違いは

"$('.213.5.176.120') <=> class="213 5 176 120" Dots in classnames should be avoided (or escaped in the jQ selector) "

0
追加された

まず、私はドット(。)がクラス名では有効ではないと確信していますが、たとえそうであっても、私はそれらを使用しません。それは混乱です。 ちなみに、スペックによれば、クラスは数字で始めることができませんでした。

All CSS syntax is case-insensitive within the ASCII range (i.e., [a-z] and [A-Z] are equivalent), except for parts that are not under the control of CSS. For example, the case-sensitivity of values of the HTML attributes "id" and "class", of font names, and of URIs lies outside the scope of this specification. Note in particular that element names are case-insensitive in HTML, but case-sensitive in XML. In CSS, identifiers (including element names, classes, and IDs in selectors) can contain only the characters [a-zA-Z0-9] and ISO 10646 characters U+00A0 and higher, plus the hyphen (-) and the underscore (_); they cannot start with a digit, two hyphens, or a hyphen followed by a digit. Identifiers can also contain escaped characters and any ISO 10646 character as a numeric code (see next item). For instance, the identifier "B&W?" may be written as "B\&W\?" or "B\26 W\3F".

Check the CSS Syntax

次に、クラスを使用してメタデータを保存しないでください。jQueryは便利な方法を提供しています。単に data()

クラスにふさわしいもの、CSSを守ってください。

0
追加された
期間はクラス名を無効にするものではなく、CSSで選択するのが難しい。
追加された 著者 kojiro,
私が言ったように、私は確信していませんが、そうでなければ、本当に混乱しているはずです。
追加された 著者 Boris Guéry,

As everyone else has said, the problem is your class. It's easy to simply replace those dots with underscores and use those in your class name. Here's a quick and dirty example: http://jsfiddle.net/LFfwZ/

0
追加された