Javascript str.替换为 html 字符串
Javascript str.replace with html string
编辑:
为了更详尽:
我有一个由外部服务器端渲染引擎生成的动态页面(ERP解决方案也处理电子商务,糟糕的故事......),它添加了自己的代码部分,如按钮,输入表单等。我不能直接控制它们,但我需要设计它们。所以我正在使用 js 的字符串替换函数,因为我不能使用 php,只能使用 html/js。但是我不知道js,我只是在学习它,在这种情况下,由于缺乏语法/转义知识,我没有工作
。function
体内装有onload="function ()"
。
我刚刚在需要替换的代码部分之外添加了一个<div id="replace-input">
(在这种情况下是要发送到购物车的物品数量的输入表单)
谢谢
结束编辑
我找不到一个有效的解决方案来替换像 html 字符串一样
<input name="qty" id="qty" size="6" maxlength="6" value="1" class="input">
进入另一个像
<div class="product-qty">
<label for="qty">Qty:</label>
<div class="custom-qty">
<button type="button" class="reduced items" onclick="var result = document.getElementById('qty'); var qty = result.value; if (!isNaN(qty) && qty > 1)result.value--; return false;"> <i class="fa fa-minus-square-o"></i> </button>
<input type="text" name="qty" id="qty" maxlength="12" value="1" title="Qty" class="input-text qty">
<button type="button" class="increase items" onclick="var result = document.getElementById('qty'); var qty = result.value; if (!isNaN(qty)) result.value++;return false;"> <i class="fa fa-plus-square-o"></i> </button>
</div>
</div>
我正在使用这个函数
var str = document.getElementById("replace-input").innerHTML;
var res = str.replace(/HereIHaveToAddTheFirstString/g, "HereTheSecondOne");
document.getElementById("replace-input").innerHTML = res;
但我不知道如何编写字符串以便正确解析。
如果您正在寻找一种将 HTML 代码用作字符串的方法,您可以使用在线工具为您转义字符。之后,您应该使用 DOM 操作来替换这两个元素。如果 jQuery 不是一个选项,你可以做类似的事情
var div = document.createElement('div');
div.className = 'product-qty';
div.innerHTML = "<label for='"qty'">Qty:<'/label>"
+ "<div class='"custom-qty'">"
+ "<button type='"button'" class='"reduced items'" onclick='"var result = document.getElementById('qty'); var qty = result.value; if (!isNaN(qty) && qty > 1)result.value--; return false;'"> <i class='"fa fa-minus-square-o'"><'/i> <'/button> "
+ "<input type='"text'" name='"qty'" id='"qty'" maxlength='"12'" value='"1'" title='"Qty'" class='"input-text qty'"> "
+ "<button type='"button'" class='"increase items'" onclick='"var result = document.getElementById('qty'); var qty = result.value; if (!isNaN(qty)) result.value++;return false;'"> <i class='"fa fa-plus-square-o'"><'/i> <'/button>"
+ "<'/div>";
var container = document.getElementById("replace-input");
var element = document.getElementById("qty");
container.removeChild(element);
container.appendChild(div)
相关文章:
- 将html元素插入到文本字符串中,以匹配另一个html字符串
- HTML字符串作为上下文
- 正在分析HTML字符串并从中进行选择
- 将GET请求(HTML字符串)转换为完整的DOM对象
- 在树枝模板上从数据库中解压缩HTML字符串
- 如何使用Razor显示模板将字符串转换为html字符串
- 如何在不打断标记的情况下突出显示html字符串中的文本
- 使用val()在jquery循环中设置html字符串的val
- 搜索并用jQuery替换整个HTML字符串
- 替换 html 字符串中的某些“<”和“>”
- Javascript-将包含变量的html字符串作为参数传递
- 如何用JavaScript替换HTML字符串
- 如何在我的模板(Angular2/TypeScript)中将HTML字符串转换为HTML
- 在HTML字符串的某个段落后插入HTML
- 使用 javascript 压缩包含嵌入图像的 HTML 字符串
- 需要使用Java编码/转义HTML字符串,并在JavaScript中解码HTML字符串
- 在不更改 HTML 的情况下操作 HTML 字符串的内容
- 使用JavaScript从HTML字符串中提取文本
- regex在JavaScript中拆分一个html字符串
- 创建HTML对象的Javascript与创建HTML字符串的比较