如何使用jQuery

时间:2018-12-24 17:05:04

标签: javascript html

如何仅为这些span标签中{{1}的一部分li添加 class span 元素}} 例如,这是生成的HTML:

class='error'

这是我到目前为止的代码:

<li class="error">
  <!--if list has class error, then add also class error to span which is part of that list tag-->
  <span class="error"></span>
</li>

5 个答案:

答案 0 :(得分:2)

使用 JQuery 很容易,只需选择所有li类的.error项,然后使用find()查找所有{{1} }元素,最后将类spam添加到其中:

.error
$(document).ready(function()
{
    $("li.error").find("span").addClass("error");
});
span.error {
    background-color: red;
}

答案 1 :(得分:1)

这应该达到预期的结果。使用error类遍历所有li元素,找到所有范围,然后向其中添加类error

$('li.error').each(function() {
    $(this).find('span').addClass('error');
})

答案 2 :(得分:1)

对于纯香草JavaScript解决方案,您可以使用属性选择器来查找所有具有名为li的类的error元素。一旦有了li元素的列表,就可以循环(使用forEach或for循环)并附加一个span元素作为li的子元素。还应通过setAttribute为span元素提供一个名为“错误”的类属性。

function appendErrorSpan(li) {
  var errorEl = document.createElement('span');
  errorEl.setAttribute('class', 'error');
  errorEl.appendChild(document.createTextNode('Error span added!'));
  li.appendChild(errorEl);
};

var errorListItems = document.querySelectorAll('li[class="error"]');

errorListItems.forEach(appendErrorSpan);
<li class="">
  <span></span>
</li>
<li class="error">
</li>

答案 3 :(得分:1)

您可以像这样使用循环来代替

    let a=document.querySelectorAll("li.error > span");
    $(a).addClass('error');

答案 4 :(得分:1)

最简单的方法-

$("li.error > span").addClass('error');