Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在特定行之后添加表行_Javascript_Jquery_Html - Fatal编程技术网

Javascript 在特定行之后添加表行

Javascript 在特定行之后添加表行,javascript,jquery,html,Javascript,Jquery,Html,我在这里试图添加一个新行onclick事件的按钮,它假设是添加在某一行之后 这里是我正在尝试的示例代码 html: <table> <tr> <td>phone</td> <td>akfg</td> <td>akfg</td> <td>akfg</td> <td>akfg</td> </tr> <

我在这里试图添加一个新行onclick事件的按钮,它假设是添加在某一行
之后

这里是我正在尝试的示例代码

html:

<table>
<tr>
    <td>phone</td>
    <td>akfg</td>
    <td>akfg</td>
    <td>akfg</td>
    <td>akfg</td>
</tr>
<tr class="email">
    <td>email</td>
    <td>akfg</td>
    <td>akfg</td>
    <td>akfg</td>
    <td>akfg</td>
</tr>
<tr>
    <td>im</td>
    <td>akfg</td>
    <td>akfg</td>
    <td>akfg</td>
    <td>akfg</td>
</tr>
</table>
<button>click me</button>

电话
akfg
akfg
akfg
akfg
电子邮件
akfg
akfg
akfg
akfg
感应电动机
akfg
akfg
akfg
akfg
点击我
js

$(文档).ready(函数(){
var strVar=“”;
strVar+=“”;
strVar+=“电子邮件”;
strVar+=“akfg”;
strVar+=“akfg”;
strVar+=“akfg”;
strVar+=“akfg”;
strVar+=“”;
strVar+=“”;
var priIm=真;
$('button')。在('click',函数(){
如果(priIm){
$('table').append(strVar);
priIm=假;
}否则{
(strVar.insertAfter($('tbody.email'));
}
});
});
是的,我也尝试了
append()
函数

像这样使用
.after()
-

$('tr.email').after(strVar);
演示
--->

使用
.after()
而不是
.append()


您需要使用
$
strVar
变量转换为jQuery对象,以便
strVar
能够使用jQuery方法:

   $(strVar).insertAfter($('table').find('.email'));
// ^ here ---

尝试使用
after()
而不是
insertAfter()


检查它。

我编辑了你的代码及其工作状态

像这样编辑并使用append()

选中

这将起作用-

$(document).ready(function(){
var strVar="";
strVar += "  <tr>";
strVar += "        <td>phone<\/td>";
strVar += "           <td>akfg<\/td>";
strVar += "           <td>akfg<\/td>";
strVar += "           <td>akfg<\/td>";
strVar += "           <td>akfg<\/td>";
strVar += "    <tr>    ";
strVar += "        ";
var priIm  = false;

    $('button').on('click' , function(){
    if(!priIm){
        $('table').append(strVar);
        priIm = true;
    }else{
      $(strVar).insertAfter('tr.email');
    }
   });



});   
$(文档).ready(函数(){
var strVar=“”;
strVar+=“”;
strVar+=“电话”;
strVar+=“akfg”;
strVar+=“akfg”;
strVar+=“akfg”;
strVar+=“akfg”;
strVar+=“”;
strVar+=“”;
var priIm=假;
$('button')。在('click',function()上{
如果(!priIm){
$('table').append(strVar);
priIm=真;
}否则{
$(strVar).insertAfter('tr.email');
}
});
});   

您错过了在
$()
中的wrap'
strVar
,然后
insertAfter
选择器作为参数,正如我在文档中看到的那样。

您可以更新为使用
.after()或.insertAfter()

或者这个:

$('button').on('click', function () {
    $(strVar).insertAfter($('table').find('.email'));
});
请试试这个

"$('table .email').after(strVar);" 
而不是

"$('table').append(strVar);"
$(document).ready(function(){
var strVar="";
strVar += "  <tr>";
strVar += "        <td>phone<\/td>";
strVar += "           <td>akfg<\/td>";
strVar += "           <td>akfg<\/td>";
strVar += "           <td>akfg<\/td>";
strVar += "           <td>akfg<\/td>";
strVar += "    <tr>    ";
strVar += "        ";
var priIm  = false;

    $('button').on('click' , function(){
    if(!priIm){
        $('table').append(strVar);
        priIm = true;
    }else{
      $(strVar).insertAfter('tr.email');
    }
   });



});   
$('button').on('click', function () {
    $('table').find('.email').after(strVar);
});
$('button').on('click', function () {
    $(strVar).insertAfter($('table').find('.email'));
});
"$('table .email').after(strVar);" 
"$('table').append(strVar);"