簡體   English   中英

jQuery過濾動態html內容

[英]jQuery filtering dynamic html content

我正在使用$.get函數加載HTML模板,我想解析此HTML並將自己的值注入其中。 到目前為止,我已經嘗試了以下代碼段,但似乎沒有用。

$.get('/js/dynamic/locations', function(newRow) {
    var existing_elem = $('.edit-table tr:last'); 
    existing_elem.after(newRow);
    var appendedRow = existing_elem;
    appendedRow.find('td[data-th="Name"] > span').text(v.location_name);
    appendedRow.find('input').val(v.location_name);
    appendedRow.effect("highlight", {color: '#CCB4A5'}, 1000);
});

加載時newRow的值為:

<tr>
  <td data-th="Name"><span class="edit-input-text"></span>
  <input class="inp input-edit" type="text" name="location_name" value=""></td>
</tr>

首先,您必須將加載的內容附加到DOM中。 然后,選擇並編輯所需的任何元素:

編輯(#2)

HTML(假設這是加載的html:2列)

<tr>
  <td data-th="Name"><span class="edit-input-text"></span>
  <input class="inp input-edit" type="text" name="location_name" value="">    </td>
  <td data-th="LastName"><span class="edit-input-text"></span>
  <input class="inp input-edit" type="text" name="location_name" value="">    </td>
</tr>

jQuery的

$.get('/js/dynamic/locations', function(newRow) {
   var existing_elem = $('#existing_elem'); 
   //Append the html      
   existing_elem.append(newRow);
   //Select the appended html
   var appendedRow = existing_elem.children('tr');
   //Select eny elem inside the appended html
   appendedRow.addClass('appended');
   appendedRow.find('td[data-th="Name"] > span').text('your_text');
   appendedRow.find('input').val('new_value');
   //Second column
   appendedRow.find('td').eq(1).find('input').val('another_value');
});

你試過了嗎:

$(newRow).find('.edit-input-text').text(v.location_name);

工作演示

//Create a jQuery object from your ajax response
var newRow = $('<tr><td data-th="Name"><span class="edit-input-text"></span><input class="inp input-edit" type="text" name="location_name" value=""></td></tr>');

//Manipulate
newRow.find('.edit-input-text').text("I am new here")

//Do whatever
$('#demo').append(newRow);

我認為您的選擇器有問題。 嘗試這個 -

$.get('/js/dynamic/locations', function(newRow) {
    $(newRow).filter('tr td[data-th="Name"] span').text(v.location_name);
});

應該注意選擇器'tr td[data-th="Name"] span'或者

$.get('/js/dynamic/locations', function(newRow) {
    $('[data-th="Name"]', newRow).find('span').text(v.location_name);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM