使用jQuery创建DOM元素

我有一个function

$(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 = "
" + htext + "
"; $(document).append(boldText); } }); }); }); });

我更新了代码,但没有运气。 在这段代码中我需要创建al有一个DOM元素来应用黄色。

请任何人可以帮助我如何创建一个dom元素。

谢谢

我不明白你当前代码中的l在哪里。 无论如何,你可以用这样的jQuery创建一个DOM元素: var myel = $('

') 。 然后你可以使用.appendTo()等函数将myel附加到DOM中的任何位置。

编辑

您似乎试图突出显示元素中的一些单词。 我怀疑这是否适用于所有浏览器,因为表单元素在CSS方面有点棘手。 您可以尝试这样的事情(未经测试):

 $(document).ready(function () { $("#btnhighlight").click(function () { var htext = $("#txthighlighttext").val(); $("#lstCodelist option").each(function () { var sp = $(this).text(); var re = new RegExp("\\b" + htext + "\\b") sp = sp.replace(re, '$1', "gi"); $(this).html(sp); }); }); }); 

您还需要在页面上使用一些CSS,为.highlighted定义样式

聊天后更新

我使用

代替 ,以排除表单元素样式的问题:

http://jsfiddle.net/GTydh/3/

更新的js(如果小提琴被删除):

 $(document).ready(function () { $("#btnhighlight").click(function () { var htext = $("#txthighlighttext").val(); //$("#lstCodelist option").each(function () { $("p").each(function () { var sp = $(this).text(); var re = new RegExp("\\b(" + htext + ")\\b") var sOpen = ""; var sClose = ""; var newhtml = sp.replace(re, sOpen + "$1" + sClose, "gi"); $(this).html(newhtml); }); }); }); 

像这样的东西?

 $(document).append($('
').css('color', 'yellow'));

这会在文档中添加一个颜色为黄色的新div。 如果你需要将它添加到特定元素,只需使用$('#myselector')而不是$(document)

它很简单

 var newEl = $('
'); $('THE_ELEMENT_YOU_WANT_TO_APPEND_OR_ADD').append(newEl);