Javascript jquery从脚本更改立即父属性
我是jquery的新手 如果我有一个这样的字段集,如何添加class=error这样的新属性,并从脚本中修改图例的文本 除了它们存在的事实之外,我不知道任何关于fieldset或传说的事情Javascript jquery从脚本更改立即父属性,javascript,jquery,Javascript,Jquery,我是jquery的新手 如果我有一个这样的字段集,如何添加class=error这样的新属性,并从脚本中修改图例的文本 除了它们存在的事实之外,我不知道任何关于fieldset或传说的事情 <fieldSet> <legend>My Legend</legend> <script type="text/javascript"> //I want to select the legend??? </scr
<fieldSet>
<legend>My Legend</legend>
<script type="text/javascript">
//I want to select the legend???
</script>
</fieldset>
你试过下面的表达吗
$("legend").html();
要添加该类,请执行以下操作:
$('fieldset').addClass('error');
要修改图例文本,请执行以下操作:
$('fieldset legend').html('New Legend');
但是,如果页面上有更多信息,您需要了解有关字段集的更多信息,因为上面的代码将修改字段集上的所有字段集标记。根据上面的示例,以下内容将更改“legend”元素的文本并向其添加类-
$("fieldSet legend").text('New Text').addClass('newClass')
根据最终在页面上显示的其他元素,可能需要更改代码的$fieldSet图例部分
编辑
如果您想引用一个特定的字段集,可以这样做来更改页面上的第一个字段集-
$("body fieldSet:first-child legend").text('New Text').addClass('newClass')
否则,您需要向字段集添加一个类或id。所以如果你的字段集是这样的-
<fieldSet class="chosen">
或者如果您添加了一个id-
<fieldSet id="chosen">
如果您是jQuery新手,请尝试使用jQuery引用。此方法存在解决方法
<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>
加载文档时,将按顺序计算所有脚本元素。因此,当您在内联脚本元素中使用document.write时,write就位于脚本的旁边。DOM可以轻松地跟踪在脚本之后生成唯一元素并引用它。您可以尝试为这样的操作创建函数。只要玩一下,我希望您会理解:如果您的页面中有多个图例或字段集,我们如何知道要更改哪一个?您的整个页面中是否只有一个字段集?这就是为什么我要从这个脚本元素中选择最直接的字段集。虽然可能,但这样做是错误的做法,可能使用document.write。如果您可以添加用于标识字段集或图例的类、id或其他属性,则首选。这不会修改该页上的所有图例吗?字段集内的所有图例。要标识字段集,您可以向其添加一些类或id。这不会修改该页上的所有图例吗?
$("#chosen").text('New Text').addClass('newClass')
<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>