javascript - 使用 jQuery 将属性添加到 HTML 元素

标签 javascript jquery html html-table

利用 jQuery .children...

var strHtml = $(dt.row(row_idx).child()).children().children().html();

...传入以下 HTML:

<tbody>
  <tr>
    <td>Notes:</td>
    <td>some info</td>
  </tr>
  <tr>
    <td>Assistance Required:</td>
    <td>​Translation, writing and speaking capabilities </td>
  </tr>
  <tr>
    <td>Unit:</td>
    <td>not listed</td>
  </tr>
</tbody>

如何抓取标签单元格( <td>Notes:</td><td>Assistance Required:</td><td>Unit:</td> )并移动到下一个对应的值单元格以将 colspan 属性添加到 <td>然后返回完成的html?

结果应该看起来像......

<tbody>
  <tr>
    <td>Notes:</td>
    <td colspan="12">some info</td>
  </tr>
  <tr>
    <td>Assistance Required:</td>
    <td colspan="12">Translation, writing and speaking capabilities </td>
  </tr>
  <tr>
    <td>Unit:</td>
    <td colspan="12">not listed</td>
  </tr>
</tbody>

最佳答案

获取您的字符串并加载您仅使用该字符串在内存中创建的临时元素。

您可以使用 :nth-child() 伪类选择器仅选择第二个子 <td>每行中的元素,然后使用 JQuery .attr() 向这些元素添加属性的方法:

var strHTML = `<table>
<tbody>
  <tr>
    <td>Notes:</td>
    <td>some info</td>
  </tr>
  <tr>
    <td>Assistance Required:</td>
    <td>​Translation, writing and speaking capabilities </td>
  </tr>
  <tr>
    <td>Unit:</td>
    <td>not listed</td>
  </tr>
</tbody>
</table>`

// Create a temporary element in memory only
var temp = document.createElement("div");

// Load the string into the temp element
$(temp).html(strHTML);

// Now, you can search through the element

$("td:nth-child(2)", temp).attr("colspan", "12"); // Add the attribtue to the second td in each tr
console.log($(temp).html());  // Get the HTML contents of the <table>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

关于javascript - 使用 jQuery 将属性添加到 HTML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50749491/

相关文章:

javascript - nodejs 使用回调和事件

javascript - jQuery 跟踪页面内容并相应地调整大小

javascript - Select2 Ajax 方法不选择

jquery - 仅应用可调整大小的宽度超过 1024px

javascript - Bootstrap js屏幕尺寸不一致

javascript - 您可以滚动到相对定位的元素的 html 中的 anchor 吗?

javascript - 如何在 jQuery 中选择具有 name 属性的元素?

jquery - 在嵌套函数中传递父函数参数?

javascript - 如何检查触发事件的元素?

jquery - P 标签内容覆盖 block 级链接的问题