我一直在编写一个脚本来提取。 DIV 的 STRONG 元素,并将.append应用于 DIV 并将其放入listbox.option。到目前为止,我所拥有的代码成功地将元素放入列表中,但当我追加元素时,它在 DIV 中开始变得有点混乱,因为它已在段落中包含逗号。它还会在另一个 DIV 中添加其他 STRONG 标记。我真正想要的只是将带有“,”的DIVa.STRONG元素的内容拉入列表框的简单方法。如果有人有解决方案或者可以帮助我理解需要发生什么,我将非常感激。谢谢你们。
请参阅我的jsfiddle Example Site:
或
HTML:
<div id="div1"><span name="#anchor" style="color: black;">Blah Blah <strong>A</strong> and <strong>B</strong> manufactured by <strong>C</strong> blah blah.</span><a href="#">delete</a></div><div id="div2"><strong>Test</strong></div>
<form>
<select id="mySelect" size="8">
<option>Apple</option>
<option>Pear</option>
<option>Banana</option>
<option>Orange</option>
</select>
</form>
<br /><div>
<p>Test words in paragraph</p>
使用Javascript:
$("a").click(function(e){
$div = $(this).parent("div");
id = $div.attr("id");
$( "strong" ).append( ", ");
text = $div.find("strong").text();
var x = document.getElementById("mySelect");
var option = document.createElement("option");
option.text = text.substr(0,(text.length -2));
x.add(option,x[0]);
e.preventDefault();
});
答案 0 :(得分:0)
您需要的是:jsFiddle?
上面的代码执行此操作:
#div1
中的每个强元素,并将其值附加到此#mySelect
jQuery代码:
$("a").click(function(e){
var arr = [];
$("#div1 strong").each(function() {
arr.push($(this).html());
});
$("#mySelect").append("<option>"+arr.join(', ')+"</option>");
});
注意:
强>
你混合了jQuery代码和js代码。这不是好习惯。您已经在使用jQuery,因此请将它用于您需要的所有内容。你不必将它与js代码混合在一起。