当使用 Javascript 连接字符串以组合新的 DOM 元素时,它仅采用第一个空格分隔的值

发布于 2024-11-25 16:39:56 字数 503 浏览 0 评论 0原文

我有以下代码

var aVar = "sample text";
alert(aVar);
$(this).replaceWith( "<input type='text' value=" + aVar + " id='laID' style='width: 100px; padding-right:20px; color:white;'/>");

警报消息框返回预期值:“示例文本”。但是,DOM 元素是使用以下值生成的:“sample”。现在,如果我按照以下方式尝试它的工作原理:

$(this).replaceWith( "<input type='text' value='sample text' id='laID' style='width: 100px; padding-right:20px; color:white;'/>");

不幸的是,我别无选择,只能从变量中读取值,我不能将其硬编码。希望有人能指导我!谢谢

I have the following code

var aVar = "sample text";
alert(aVar);
$(this).replaceWith( "<input type='text' value=" + aVar + " id='laID' style='width: 100px; padding-right:20px; color:white;'/>");

The alert message box returns the expected value: "sample text". However, the DOM element is generated with the following value: "sample". Now, if i try it the following way it works:

$(this).replaceWith( "<input type='text' value='sample text' id='laID' style='width: 100px; padding-right:20px; color:white;'/>");

Unfortunately, i have no choice but to read the value from a variable, i can't have it hardcoded. Hope someone can guide me with this! thankss

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

沉睡月亮 2024-12-02 16:39:56

CHange:

value=" + aVar + " id='

To:

value='" + aVar + "' id='

属性应该加引号。

CHange:

value=" + aVar + " id='

To:

value='" + aVar + "' id='

Attributes should be quoted.

有木有妳兜一样 2024-12-02 16:39:56

你缺少引号。使用这个:

$(this).replaceWith( "<input type='text' value='" + aVar + "' id='laID' style='width: 100px; padding-right:20px; color:white;'/>");

You're missing quotation marks. Use this:

$(this).replaceWith( "<input type='text' value='" + aVar + "' id='laID' style='width: 100px; padding-right:20px; color:white;'/>");
毁虫ゝ 2024-12-02 16:39:56

您没有在第一个示例中用字符串引用 value 属性的值。
应该写成:

$(this).replaceWith( "<input type='text' value='" + aVar + "' id='laID' style='width: 100px; padding-right:20px; color:white;'/>");

You haven't string quoted the value of the value attribute in your first example.
It should be written:

$(this).replaceWith( "<input type='text' value='" + aVar + "' id='laID' style='width: 100px; padding-right:20px; color:white;'/>");
静若繁花 2024-12-02 16:39:56

每个人都已经回答了您的问题,但是......当您遇到这样的字符串错误时,只需使用“警报”即可查看评估的字符串。
这会节省您的时间:

alert( "<input type='text' value=" + aVar + " id='laID' style='width: 100px; padding-right:20px; color:white;'/>");

Everyone have already answered your question, but... when you get stuck with string bugs like that, just use an "alert" to see the evaluated string.
This would save you time:

alert( "<input type='text' value=" + aVar + " id='laID' style='width: 100px; padding-right:20px; color:white;'/>");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文