0

このようなコードでは:

        for(var i=0; i<arSelectedFields.length; i++) {
            $("td[class='ms-formlabel']").each(function() {
                var txtCol = $.trim($(this).text()); // field name
                var fvalue = "";    //field value
                if(txtCol == arSelectedFields[i]) {

                    $("td[class='ms-formlabel'] + td[class='ms-formbody']").each(function() {; // ignoring any field formatting; use html(), if needed
                            fvalue = $(this).text();
                            if(fvalue != "") PrintingHTML += "\n<tr><td class='formlabel'>" + txtCol + "</td><td class='xdata'>" + fvalue + "</td></tr>";
                            else PrintingHTML += "\n<tr><td class='formlabel'>" + txtCol + "</td><td class='xdata'>&nbsp;</td></tr>";
                            fvalue = "";

                    });  //each()
                    return false;
                } //else return false; 
            });
        }

私は次のように述べています。

$("td[class='ms-formlabel'] + td[class='ms-formbody']").each(....

私が本当に欲しいのは

$(this)...td[class='ms-formbody']").each(... 

しかし、それを機能させることができませんでした。つまり、td[class='ms-formbody'](の値に基づいて)現在選択されている行に存在するものだけが必要ですtd[class='ms-formlabel']。私が得ることができる最も近い方法は、現在選択されているフォームラベルに適用されるものだけでなく、フォームボディ要素のコレクションを上から開始する方法です。

何か案は?

4

2 に答える 2

1

私があなたを正しく理解しているなら、あなたが探しているのはこれです:

$(this).siblings("td[class='ms-formbody']").each(..
于 2013-03-24T17:30:05.457 に答える
0

試す

$(this + " td[class='ms-formbody']").each(...

また

$(this).find("td[class='ms-formbody']").each(...

クラスの属性equalsセレクターを使用する理由はありますか?あなたはただ書くべきです:td.ms-formbody

于 2013-03-24T17:30:42.627 に答える