$('<div></div>').text('<123>'); 获取div的dom
时间: 2024-03-17 07:40:19 浏览: 14
可以使用jQuery的选择器和`appendTo()`方法来实现:
```javascript
var divDom = $('<div></div>').text('<123>').appendTo('body');
```
这样就可以创建一个`<div>`元素,并且将其文本内容设置为`<123>`,然后将其添加到`body`元素中,并获取该`<div>`元素的DOM对象。
相关问题
语言是javaScript 如何通过正则获取某个类名的div里的内容,比如获取<div class="signature><div>124</div><div>1212</div></div>里<div class="signature></div>里的代码
在 JavaScript 中,你可以使用正则表达式和 DOM 操作来获取特定类名的 `<div>` 标签内容。下面是一个示例代码:
```javascript
var html = '<div class="signature"><div>124</div><div>1212</div></div>';
var className = "signature";
var pattern = new RegExp('<div class="' + className + '".*?>(.*?)<\/div>', 'g');
var result = html.match(pattern);
if (result !== null) {
var content = result.map(function(tag) {
return tag.replace(/<\/?div.*?>/g, '');
});
console.log(content);
} else {
console.log("未找到匹配的内容");
}
```
在上面的示例中,我们使用 `RegExp` 构造函数创建了一个正则表达式对象 `pattern`,并插入了动态的类名。我们还指定了 'g' 标志来匹配所有符合条件的 `<div>` 标签。
然后,我们使用 `html.match(pattern)` 方法来执行匹配操作,并将所有匹配结果存储在 `result` 数组中。
最后,我们使用 `result.map()` 方法遍历每个匹配的 `<div>` 标签,并使用 `.replace()` 方法将标签的开头和结尾标记去除,从而获取到 `<div>` 标签内的内容。
需要注意的是,使用正则表达式来解析 HTML 并不是最佳的方法。在 JavaScript 中,更好的选择是使用 DOM 操作和相关的库(如 jQuery)来处理和提取 HTML 内容。这样可以更方便地操作和获取元素的内容。
用js写出3种方法,解析这段字符串'<h1>xx</h1><p>xx</p><td></td><u></u><ul></ul><b></b><li></li><ol></ol>',将除了p、ul、ol、li、b、i、u的标签对都替换成p标签,但不需要替换以</开头的标签如</h>
可以使用 JavaScript 中的正则表达式和字符串替换方法来实现这个功能。下面是三种不同的方法:
方法一:使用 replace 方法和正则表达式
```javascript
const str = '<h1>xx</h1><p>xx</p><td></td><u></u><ul></ul><b></b><li></li><ol></ol>';
const replacedStr = str.replace(/<(?!\/?(p|ul|ol|li|b|i|u)\b)[^>]*>/gi, '<p>');
console.log(replacedStr);
```
方法二:使用 replace 方法和自定义替换函数
```javascript
const str = '<h1>xx</h1><p>xx</p><td></td><u></u><ul></ul><b></b><li></li><ol></ol>';
const replacedStr = str.replace(/<[^>]*>/gi, (match) => {
if (match.match(/<\/?(p|ul|ol|li|b|i|u)\b/)) {
return match;
}
return '<p>';
});
console.log(replacedStr);
```
方法三:使用 DOM 解析和操作
```javascript
const str = '<h1>xx</h1><p>xx</p><td></td><u></u><ul></ul><b></b><li></li><ol></ol>';
// 创建一个虚拟的 div 元素
const div = document.createElement('div');
div.innerHTML = str;
// 获取所有标签元素
const elements = div.getElementsByTagName('*');
for (let i = 0; i < elements.length; i++) {
const tagName = elements[i].tagName.toLowerCase();
if (!['p', 'ul', 'ol', 'li', 'b', 'i', 'u'].includes(tagName)) {
const p = document.createElement('p');
p.innerHTML = elements[i].innerHTML;
elements[i].parentNode.replaceChild(p, elements[i]);
}
}
const replacedStr = div.innerHTML;
console.log(replacedStr);
```