我如何捕获id标签并写入p。我想在id到textarea输入中列出id名称。
感谢。
HTML
<textarea id="textid" class="textclass">
<div id="hello"><span id="world"></span></div>
</textarea>
<p></p>
JS
$("textarea").keyup(function () {
var value = $(this).val();
$("p").text(value);
}).keyup();
答案 0 :(得分:2)
$("textarea").keyup(function () {
var $content = $($('<div/>').html($.trim(this.value))),
ids = "";
$content.find('[id]').each(function(){
ids += " "+ this.id;
});
$("p").text(ids.substring(0));
}).keyup();
答案 1 :(得分:2)
如果您不想将文本从textarea解析为HTML(如@roasted建议),您可以尝试使用正则表达式:
$("textarea").keyup(function () {
var value = $(this).val();
val = '';
matches = value.match(/id="[^"]*/g);
for (i in matches) {
val += matches[i].substr(4) + ' ';
}
$("p").text(val);
}).keyup();
答案 2 :(得分:0)
这是一种方法:http://jsfiddle.net/6YRyP/7/
$("textarea").keyup(function () {
var value = $(this).val();
$('body').append('<div id="search">'+value+'</div>');
var listOfId = "";
$('*', $('#search')).each(function() {
var currentId = $(this).attr('id');
if (currentId != "") {
listOfId = listOfId + currentId + ' ';
}
});
$('#search').remove();
$("p").text(listOfId);
}).keyup();