我是一个jquery新手
如果我有这样的字段集,如何添加类似class =“error”的新属性,还可以从脚本中修改图例的文本?
除了它们存在之外,我对字段集或图例一无所知
<fieldSet>
<legend>My Legend</legend>
<script type="text/javascript">
//I want to select the legend???
</script>
</fieldset>
答案 0 :(得分:1)
添加课程:
$('fieldset').addClass('error');
修改图例文字:
$('fieldset legend').html('New Legend');
但是,如果您在页面上有更多信息,则需要了解有关该字段集的更多信息,因为上面的代码将修改其上的所有字段集标记。
答案 1 :(得分:1)
从上面的示例中,以下内容将更改“legend”元素的文本并为其添加一个类 -
$("fieldSet legend").text('New Text').addClass('newClass')
您可能需要更改代码的$("fieldSet legend")
部分,具体取决于您最终在页面上显示的其他元素。
修改强>
如果你想引用一个特定的字段集,你可以做这样的事情来改变页面上的第一个字段集 -
$("body fieldSet:first-child legend").text('New Text').addClass('newClass')
否则,您需要在字段集中添加类或ID。因此,如果您的字段集看起来像这样 -
<fieldSet class="chosen">
你的jQuery需要 -
$("fieldSet.chosen legend").text('New Text').addClass('newClass')
或者如果你添加一个id -
<fieldSet id="chosen">
jQuery -
$("#chosen").text('New Text').addClass('newClass')
答案 2 :(得分:0)
您是否尝试过以下表达式?
$("legend").html();
答案 3 :(得分:0)
如果您不熟悉jQuery,请尝试jQAPI获取jQuery引用。
答案 4 :(得分:0)
这个存在解决方法。
<fieldSet>
<legend>My Legend 1</legend>
<script type="text/javascript">
var to = 'New Legend 1';
var id = "temp" + Math.floor(Math.random()*100000);
document.write('<span id="'+id+'"></span>');
var temp = $('#'+id); scriptParent = temp.parent(); temp.remove();
scriptParent.find('legend').html(to);
</script>
</fieldset>
<fieldSet>
<legend>My Legend 2</legend>
<script type="text/javascript">
var to = 'New Legend 2';
var id = "temp" + Math.floor(Math.random()*100000);
document.write('<span id="'+id+'"></span>');
var temp = $('#'+id); scriptParent = temp.parent(); temp.remove();
scriptParent.find('legend').html(to);
</script>
</fieldset>
在加载文档时,将按顺序评估所有SCRIPT
个元素。因此,当您在内联document.write
元素中使用SCRIPT
时,写入会在SCRIPT
旁边显示。在脚本之后生成唯一元素并引用它,可以由DOM轻松跟踪。你可以尝试为这样的动作创建功能。只是玩它,我希望,你会理解:)