元素if之后的jquery文本



我有这个HTML代码。

<input type=".." checked="checked" /><label>text</label> text *
<input type=".." checked="checked" /><label>text</label> text
....

我想如果是在一个传说之后:"*"结果会是:

<div class="star"><input type=".." checked="checked"><label>text</label> text *</div>
<input type=".." checked="checked" /><label>text</label> text
...

不幸的是,我不知道如何获得*。以及如何包装<div>

jQuery文档和CSS选择器文档为您提供了非常强大的工具来查找页面中的相关元素。

一旦找到了相关的元素,就可以创建一个div并将它们移动到其中,方法是在第一个元素前面插入div,然后在上面使用append将其他元素移动到其中。

示例:在div.star:中,用label立即包裹第一个input

// Select the first input with a legend after it
var elements = $("input + label").first().prev();
// Create the div
var div = $('<div class="star"></div>');
// Insert the div in front of the input
div.insertBefore(elements);
// Move the input and the label into the div
div.append(elements.add(elements.next()));

实时复制

我不提供任何指导,但提供以下代码和小提琴:http://jsfiddle.net/dYyNC/

html:

<input type="checkbox" checked="checked" /><legend>text</legend> text *
<input type="checkbox" checked="checked" /><legend>text</legend> text

js:

var star_inputs = $('input').filter(function() {
  return /*s/g.test($(this).next()[0].nextSibling.nodeValue);
});
star_inputs.wrap("<div class='star'></div>");

css:

.star {
    border: 1px solid red;
}

最新更新