Javascript 如何在jquery中的匹配字符后添加元素?
如果某个元素具有特定数量的字符,则尝试将其放置在与文本中的第二个或多个点匹配后。例如:Javascript 如何在jquery中的匹配字符后添加元素?,javascript,jquery,Javascript,Jquery,如果某个元素具有特定数量的字符,则尝试将其放置在与文本中的第二个或多个点匹配后。例如: <div id="mytext"> This is just a example. I need to find a solution. I will appreciate any help. Thank you. </div> <script> var chars = 55; if ($('#mytext').text().length > chars){ /
<div id="mytext">
This is just a example. I need to find a solution. I will appreciate any help. Thank you.
</div>
<script>
var chars = 55;
if ($('#mytext').text().length > chars){
//add <br> after first dot found after number of chars specified.
}
</script>
这只是一个例子。我需要找到一个解决办法。我将感谢任何帮助。非常感谢。
var-chars=55;
if($('#mytext').text().length>chars){
//在指定字符数后找到的第一个点后添加
。
}
。。。产出将是:
This is just a example. I need to find a solution. I will appreciate any help.<br>
Thank you.
这只是一个例子。我需要找到一个解决办法。我将感谢您的帮助。
非常感谢。
这样:使用JQUERY子字符串
<p>
this is test string with jquery . test 1 2 3 4 45 5 . test test test
</p>
<b></b>
<script>
var a = $('p').text();
var _output = '';
var _allow_index = 40;
if (a.length > _allow_index)
{
var x = a.split('.');
for(var i=0; i<x.length; i++)
{ if (_output.length < _allow_index) { _output+=x[i]+'.'; } }
}
else { _output = a; }
$('b').html(_output + '<br>'+a.substr(_output.length,a.length));
</script>
这是jquery的测试字符串。测试1234455。测试
var a=$('p').text();
var_输出=“”;
var _允许指数=40;
如果(a.length>允许索引)
{
var x=a.split('.');
对于(var i=0;i你可以试试这个
var chars=55;
if($('#mytext').text().length>chars){
var text=$('#mytext').text();//div text
var chars_text=text.substring(0,chars);//chars text
var rest=text.replace(chars_text,,).replace(//\./g,,.After Dot');//文本的剩余部分,并用span替换剩余部分的点
$('#mytext').html(chars#u text+rest);//在replace之后再次将chars和rest应用于div
}
span{
颜色:红色;
}
这只是一个例子。我需要找到一个解决方案。我将感谢任何帮助。谢谢。
这样做似乎不是一个很好的做法,例如,本地化语言的长度可能会有所不同。
此外,假设您使用的是纯文本,而不是HTML文本,并且两种情况下的长度都不同。您可能希望使用HTML()而不是text()。
但是,对于给定的情况,这里有一种方法:
var container = $('#mytext');
var length = 55;
var insert = '<br/>';
var text = container.text().trim(); // text() or html()
var dotPosAfterLength = text.indexOf(".", length);
if (dotPosAfterLength != -1) {
container.html(
text.substring(0, dotPosAfterLength+1)
+insert
+text.substring(dotPosAfterLength+1)
);
}
var-container=$('#mytext');
变量长度=55;
var insert='
';
var text=container.text().trim();//text()或html()
var dotPosAfterLength=text.indexOf(“.”,length);
if(dotPosAfterLength!=-1){
container.html(
text.substring(0,dotPosAfterLength+1)
+插入
+text.substring(dotPosAfterLength+1)
);
}
您只需要在CSS中添加此属性
<div id="mytext">
This is just a example. I need to find a solution.
I will appreciate any help. Thank you.
</div>
<style>
div#mytext{
word-wrap: break-word;
}
</style>
这只是一个例子,我需要找到一个解决方案。
谢谢你的帮助。
div#mytext{
单词包装:打断单词;
}
不要这样做。使用CSS来定义容器的宽度。是的,我知道。但我需要在这方面使用jquery。
只是一个例子。。我会放置其他元素,如div和其他一些元素。