我有麻烦了..。如何创建新节点并将其插入到标题为"Special Order“的复选框之后?
但它会用文本替换我的复选框。另外,我无法更改HTML,因为它是由第三方库为我创建的。对HTML的任何更改都将通过JS/jQuery完成。
此外,由于某些原因,我的特定HTML并不总是在应该显示的时候显示文本。我可以使用Firefox开发工具编辑文本,但它不会在复选框后显示,这很奇怪……我可能做错了什么。
我试着去做
var textnode = document.createTextNode("TEST");
$( "input[name='submittal[special_order]']" ).parent().html(textnode);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<fieldset id="submittal_form_info">
<label><span>XXX:</span>
<input name="submittal[xxx]" value="0" type="hidden">
<input name="submittal[xxx]" value="1" type="checkbox">
</label>
<label><span>Special Order:</span>
<input name="submittal[special_order]" value="0" type="hidden">
<input name="submittal[special_order]" title="Is this a special order?" value="1" type="checkbox">
</label>
</fieldset>
我正在尝试做的是在我的HTML中将我选择的文本添加到方形复选框图标之后。
发布于 2018-07-20 04:53:50
可以针对:last
输入并使用after()
var textnode = document.createTextNode("TEST");
$( "input[name='submittal[special_order]']:last" ).after(textnode);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<fieldset id="submittal_form_info">
<label><span>XXX:</span>
<input name="submittal[xxx]" value="0" type="hidden">
<input name="submittal[xxx]" value="1" type="checkbox">
</label>
<label><span>Special Order:</span>
<input name="submittal[special_order]" value="0" type="hidden">
<input name="submittal[special_order]" title="Is this a special order?" value="1" type="checkbox">
</label>
</fieldset>
发布于 2018-07-20 04:50:47
您需要将其.append()
到html,而不是使用.html()
,因为它取代了html。
var textnode = document.createTextNode("TEST");
$( "input[name='submittal[special_order]']" ).parent().append(textnode);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<fieldset id="submittal_form_info">
<label><span>XXX:</span>
<input name="submittal[xxx]" value="0" type="hidden">
<input name="submittal[xxx]" value="1" type="checkbox">
</label>
<label><span>Special Order:</span>
<input name="submittal[special_order]" value="0" type="hidden">
<input name="submittal[special_order]" title="Is this a special order?" value="1" type="checkbox">
</label>
</fieldset>
发布于 2018-07-20 05:19:49
我不确定您到底想要做什么,但此脚本将转到每个带有标题属性的输入标题,并在其旁边附加title="“中的文本
$('input[type="checkbox"][title]').each(
function(i, input) {
$(input).after($(input).attr('title'))
}
)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<fieldset id="submittal_form_info">
<label><span>XXX:</span>
<input name="submittal[xxx]" value="0" type="hidden">
<input name="submittal[xxx]" value="1" type="checkbox">
</label>
<label><span>Special Order:</span>
<input name="submittal[special_order]" value="0" type="hidden">
<input name="submittal[special_order]" title="Is this a special order?" value="1" type="checkbox">
</label>
</fieldset>
https://stackoverflow.com/questions/51431459
复制相似问题