我有这个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
...
不幸的是,我不知道如何获得*。以及如何包装&lt; div&gt;
答案 0 :(得分:1)
jQuery documentation和CSS selectors documentation为您提供了非常强大的工具,可用于查找网页中的相关元素。
找到相关元素后,您可以创建一个div
并通过在第一个前面插入div然后在其上使用append
移动其他元素来将其移动到其中进入它。
示例:在input
中随后将第一个label
用div.star
包裹起来
// 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()));
答案 1 :(得分:1)
我没有提供任何指导,但这段代码和小提琴: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;
}