0

我有 11 个 dt 由我无法访问的 php 脚本生成。下面的例子。

<dt>
<span class="Required FormFieldRequired" style="visibility: visible">*</span> 
    <span class="FormFieldLabel">Email Address:</span>
</dt>

我需要必需的跨度及其所有内容来遵循FormFieldLabel 跨度。必需的跨度文本永远不会改变,标签内容会改变。

$('span.FormFieldLabel').insertBefore( 'span.Required.FormFieldRequired' );不起作用,它会重复所有内容并弄乱表格。

阅读建议使用 text() 函数,但不建议我应该如何应用它。

我基本上想把'A before B'变成'B before A'。

4

4 回答 4

3

我假设您有多个dt要执行此操作的位置。所以你需要这样做:

$('span.FormFieldLabel').each(function() {
    $(this).insertBefore( $(this).closest('dt').find('span.Required.FormFieldRequired') );
});
于 2013-03-20T14:14:28.157 回答
1

这个怎么样:

$('span.FormFieldLabel').each(function() {
  $(this).insertBefore($(this).prev());
});

演示

于 2013-03-20T14:15:15.120 回答
0

Does this get you what you want?

$('.Required').remove().insertAfter('.FormFieldLabel')

Live example: http://jsfiddle.net/V6HQb/

于 2013-03-20T14:12:51.537 回答
0
var html = '<span class="Required FormFieldRequired" style="visibility: visible">*      </span>';
$("Required").remove();
$(dt).append(html);
于 2013-03-20T14:13:00.340 回答