使用 jQuery 创建 DOM 元素
我有一个功能
$(document).ready(function () {
$("#btnhighlight").click(function () {
var htext = $("#txthighlighttext").val();
$("#lstCodelist option").each(function () {
var sp = $(this).text();
var sp1 = sp.split(' ');
$.each(sp1, function (i, l) {
if (l == htext) {
var boldText = "<div style=\"background-color: yellow; display: inline; font-weight: bold;\">" + htext + "</div>";
$(document).append(boldText);
}
});
});
});
});
,我更新了代码,但没有运气。 在这段代码中,我需要创建一个 DOM 元素来将黄色应用于该元素。
请任何人帮助我如何创建 dom 元素。
谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我不明白
l
在当前代码中的位置。无论如何,您可以使用 jQuery 创建一个 DOM 元素,如下所示:var myel = $('
')
。 等函数将myel
附加到 DOM 中您想要的任何位置。然后,您可以使用
.appendTo()
、.after()
>编辑您似乎试图突出显示
元素内的某些单词。我怀疑这是否适用于所有浏览器,因为表单元素在 CSS 方面有点棘手。您可以尝试这样的操作(未经测试):
您的页面上还需要一些 CSS,定义
.highlighted
UPDATE AFTER CHAT
我使用
得到了一些工作>
而不是
,以排除表单元素样式问题:
http://jsfiddle.net/GTydh/3/
更新后的js(以防fiddle被删除):
I didn't understand where does
l
is in your current code. Anyway, you can create a DOM element with jQuery like this:var myel = $('<div class="someclass"></div>')
. Then you can appendmyel
to wherever you want in the DOM using function like.appendTo()
,.after()
, etc.EDIT
You seem to be trying to highlight some words inside an
<option>
element. I have doubts if that is going to work on all browsers, since form elements are a little tricky when it comes to CSS. You can try something like this (untested):You also need some CSS on your page, defining the style for
.highlighted
UPDATE AFTER CHAT
I got something working using a
<p>
instead of<option>
, to rule out the problem of form element styling:http://jsfiddle.net/GTydh/3/
The updated js (in case fiddle is deleted):
像这样的东西吗?
这会将一个黄色的新 div 添加到文档中。如果您需要将其添加到特定元素,只需使用
$('#myselector')
而不是$(document)
Something like this?
That will append a new div with a colour of yellow to the document. If you need to add it to a specific element just use
$('#myselector')
instead of$(document)
它很简单
Its quite simple