2

動的に作成された HTML 文字列 (テーブル行) があります。その文字列の行数は 1 より大きい場合があります。

string myHtml = "
            <tr>
               <td class="text-left">
                  <label class="label-none">a.docx</label>
               </td>
               <td>
                  <label class="label-none">Manuscript </label>
               </td>
               <td>
                   <input class="del-file-cb" file-id="71" type="checkbox" />
               </td>
            </tr>" 
            etc...

DOM要素(テーブル)に挿入する前file-idに、属性の特定の値を持つチェックボックス入力が内部に存在するかどうかを確認したいと思います。textもしそうなら、1番目label(見つかったチェックボックスが配置されている行)のを egloremに変更し、2番目をegに変更したいと思います。どうやってするか ?labeltextipsum

編集

また、いくつかの有用な情報もありますstackoverflow.com/questions/704679/parse-html-string-with-jquery

4

2 に答える 2

9
var mYdomelement = $('
            <tr>
               <td class="text-left">
                  <label class="label-none">a.docx</label>
               </td>
               <td>
                  <label class="label-none">Manuscript </label>
               </td>
               <td>
                   <input class="del-file-cb" file-id="71" type="checkbox" />
               </td>
            </tr>');

if(mYdomelement.find(":checkbox").attr("file-id") == "Yourvalue"){
   $("label:first-child", mYdomelement).text('lorem');
   $("label:nth-child(2)", mYdomelement).text('ipsum');
}

ここに作業デモがあります

于 2012-08-17T10:51:31.033 に答える
-1

次のようなことができます。

if($(#elementId + ' input[file-id|="YOUR_VALUE_HERE"]').length > 0)
{
    $(this).ancestors().eq(2).find('label').eq(0).val(FIRST_LABEL_VALUE_HERE);
    $(this).ancestors().eq(2).find('label').eq(0).val(SECOND_LABEL_VALUE_HERE);
}
于 2012-08-17T11:09:32.210 に答える