我想使用JQuery在两个元素之间更改文本,但我不知道!
例如:
<input type='checkbox' name='ch1'>
This text must be changed !!!
<input type='checkbox' name='ch2'>
另外,我对此Html代码没有任何控制权,因此我无法添加任何ID或标记。
我想使用JQuery在两个元素之间更改文本,但我不知道!
例如:
<input type='checkbox' name='ch1'>
This text must be changed !!!
<input type='checkbox' name='ch2'>
另外,我对此Html代码没有任何控制权,因此我无法添加任何ID或标记。
你可以打电话 内容() 在父元素上获取其子文本节点,然后使用 片() 同 指数() 找到要删除的文本节点。从那以后, 后() 将允许您添加新内容:
var ch1 = $("input:checkbox[name=ch1]"),
ch2 = $("input:checkbox[name=ch2]"),
contents = ch1.parent().contents();
contents.slice(contents.index(ch1) + 1, contents.index(ch2)).remove();
ch1.after("The text was changed.");
你可以测试一下 这个小提琴。
你可以打电话 内容() 在父元素上获取其子文本节点,然后使用 片() 同 指数() 找到要删除的文本节点。从那以后, 后() 将允许您添加新内容:
var ch1 = $("input:checkbox[name=ch1]"),
ch2 = $("input:checkbox[name=ch2]"),
contents = ch1.parent().contents();
contents.slice(contents.index(ch1) + 1, contents.index(ch2)).remove();
ch1.after("The text was changed.");
你可以测试一下 这个小提琴。
你用js replace 用于替换要替换的文本的函数
这是一个例子: http://jsfiddle.net/yangchenyun/8zFFc/
这是代码
var replacedText = $('input[name=ch1]').parent().html().replace('This text must change !!!', 'replaced text');
$('input[name=ch1]').parent().html(replacedText);
2个输入是否在更大的容器div中?然后你可以设置div的innerHTML而不使用中间的文本
你可以这样做吗?
<input type='checkbox' name='ch1'>
<span id="change"> This text must change !!!</span>
<input type='checkbox' name='ch2'>
这可能对你有所帮助:
$(文件)。就绪(函数(){
警报(getAllBetween( “输入#CH1”, “输入#CH 2”));
});
function getAllBetween(firstEl,lastEl){
var firstElement = $(firstEl); //第一元素
var lastElement = $(lastEl); //最后元素
var collection = new Array(); //元素集合
collection.push(firstElement); //将第一个元素添加到集合中
$(firstEl).nextAll()。each(function(){//遍历所有兄弟姐妹
var siblingID = $(this).attr(“id”); //获取兄弟姐妹ID
if(siblingID!= $(lastElement).attr(“id”)){//如果Sib不是LastElement
collection.push($(本)); //将兄弟姐妹添加到集合中
} else {//否则,如果Sib是LastElement
返回虚假; // Break Loop
}
});
回收; //返回集合
}
我想你可以试试 contents() 选择所需复选框旁边的文本节点并将其删除。
但是,我认为它可能在IE6 / 7中不起作用。
尝试这个
$(function(){
$('input:checkbox').parents().contents()
.filter( function(index){return (this.nodeType === 3 && $('input:checkbox').parents().contents().eq(index-1).attr('name') === 'ch1' ); }).remove();
});
你可以使用段落
对于文本如下
<input type='checkbox' name='ch1'>
<p id="change_text"> This text must change !!!</p>
<input type='checkbox' name='ch2'>
在jquery中使用
$("#change_text").html(" Your text here ");