Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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
Jquery 函数的作用是:删除所有其他内容_Jquery_Html_Var - Fatal编程技术网

Jquery 函数的作用是:删除所有其他内容

Jquery 函数的作用是:删除所有其他内容,jquery,html,var,Jquery,Html,Var,我试着把2个变量组合成1,这是经典的书本方法 a = 1; b = "bla"; c = a + b; 但是,当其中一个变量具有html()jquery函数时,结果仅为该变量,仅此而已。为什么会这样?在这种情况下我该怎么办 所有JS代码 $("#target").click(function() { $('#myTable tr:last').after('<tr><td>Bla</td><td><div class="remove

我试着把2个变量组合成1,这是经典的书本方法

a = 1;
b = "bla";
c = a + b;
但是,当其中一个变量具有html()jquery函数时,结果仅为该变量,仅此而已。为什么会这样?在这种情况下我该怎么办

所有JS代码

    $("#target").click(function() {
$('#myTable tr:last').after('<tr><td>Bla</td><td><div class="remove">REMOVE</div></td></tr>');
});
$("#myTable").on('click', '.remove', function(event) {
  $(this).parent().parent().remove();
});

$("button").click(function() {
  var input = $("input").val();
  var table = $("#myTable").html();
  var output = input + "www" + table;
  $(".result").html(output);
});
html输出仅打印表内容,而不打印其他变量。组合变量确实有效,但如果存在html()。在其中一种情况下,仅打印此变量。这是什么来源

要看到它不工作,请在输入中键入一些内容,然后单击结果。

.html()
设置并从DOM节点检索html;不要与处理节点内部文本值的
.text()
混淆

可能是你想做这样的事情:

 var input = '<div>' + $("input").val() + 'www</div>';
 var table = $("#myTable").html();
 var output = input + '<table>' + table + '</table>;
var input=''+$(“input”).val()+'www';
var table=$(“#myTable”).html();
var输出=输入+“”+表格+”;

坦白地说,我认为你的HTML太复杂了;你为什么把div放在桌子里面??您可以减少代码并使其仅与div一起工作。

您在输出变量中输入的所有文本都在那里,问题是
$(“.result”).html(输出)
忽略非html内容。通过添加此警报向您自己证明:

$("button").click(function() {
  var input = $("input").val();
  var table = $("#myTable").html();
  var output = input + "www" + table;
  alert(output);
  $(".result").html(output);
});
查看源(或在警报框中显示
输出
的值)

您可以看到输入字段中的值和“www”被添加到result div的html中;它只是没有被渲染

考虑使用id属性而不是类来定义
.html(输出)
的目标:


问题是
$(“#myTable”).html()
返回不带开始和结束标记的表格html
,因此,当您稍后将文本连接到截取的html表格代码时,浏览器会解释属于表格的文本,但不知道如何呈现它

简单的解决方案是输出一个适当的表格,以便正确显示文本并将其与表格分开,为此,只需替换以下行:

var table = $("#myTable").html();
对于这一个:

var table = '<table>' + $("#myTable").html() + '</table>';
var table=''+$(“#myTable”).html()+';

RTM->div只是一个切换元素,也可能是一个锚定标记。这个例子很有效,但是html from html()在哪里?为什么不显示它?
<div id="result">...</div>
$("#result).html(output);
var table = $("#myTable").html();
var table = '<table>' + $("#myTable").html() + '</table>';