Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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 更改具有相同维度的html标记_Javascript_Jquery_Cakephp_Html Parsing_Phpexcel - Fatal编程技术网

Javascript 更改具有相同维度的html标记

Javascript 更改具有相同维度的html标记,javascript,jquery,cakephp,html-parsing,phpexcel,Javascript,Jquery,Cakephp,Html Parsing,Phpexcel,我有一个长表,有不同的条目,其中一些被标记为“xxx”。 生成html代码时,带有xxx的行如下所示(由插件生成): xxx 我想将其更改为具有相同尺寸的textarea,这样它就不会扭曲表格 我认为jQuery可以完成这项工作,但我不知道如何准确地提取colspan、width或height,并将其设置为新的textarea。我有这段代码,它将所有xxx实例替换为textareas,但它们的大小都相同,会扭曲表格格式 <script> var replaced = $("

我有一个长表,有不同的条目,其中一些被标记为“xxx”。 生成html代码时,带有xxx的行如下所示(由插件生成):

xxx
我想将其更改为具有相同尺寸的textarea,这样它就不会扭曲表格

我认为jQuery可以完成这项工作,但我不知道如何准确地提取colspan、width或height,并将其设置为新的textarea。我有这段代码,它将所有xxx实例替换为textareas,但它们的大小都相同,会扭曲表格格式

<script>
    var replaced = $("body").html().replace(/xxx/g,'<textarea></textarea>');
    $("body").html(replaced);
</script>

var replaced=$(“body”).html().replace(/xxx/g');
$(“正文”).html(已替换);
如有任何建议,我们将不胜感激


PS:我正在使用CakePHP 2.0,并使用PHPExcel将excel更改为html,并在xxx所在的位置生成文本区域。

如果您总是替换“xxx”,我不明白您为什么需要“提取”任何内容。如果您使用width属性玩一段时间,您将获得不扭曲表格所需的精确像素,并将其硬编码为
定义

您可以做的另一件事是在textarea定义中设置cols和rows属性

var replaced = $("body").html().replace(/xxx/g,'<textarea cols="3" rows="1"></textarea>');
不过,您需要有对正确的
的引用。对于提取,代码是

$("#the-td").css("width");

我能够通过使用以下代码解决此问题:

var replaced=$(“body”).html().replace(/xxx/g');
$(“正文”).html(已替换)

这将创建完全符合大纲表格式的表。最后,不需要进行复杂的数据提取。
我的案例非常特殊,因此我不知道它是否能帮助任何人,但希望它能帮助任何人。

好吧,这可能会解决某些情况下的问题,但在我的案例中,我有一个表,其中有不同的维度框。所以我只需要文本区域来填充整个框。例如,设置cols=3在这种情况下是不合适的,但我会接受这个答案,因为它在某些情况下可能会起作用。谢谢
$("#the-td").attr("colspan");
$("#the-td").css("width");