gpt4 book ai didi

javascript - jQuery 检查字符串是否为 HTML 标签

转载 作者:行者123 更新时间:2023-11-30 13:01:33 25 4
gpt4 key购买 nike

我只需要检查一个字符串是否是一个 HTML 标签。我在谷歌中搜索并尝试了下面的代码,但没有成功:

var v = $(string).html() ? 1 : 0;

--or----------------------------------------------

var htmlExpr = new RegExp("/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/");
var v = htmlExpr.test(string) ? 1 : 0;

--or----------------------------------------------

var v = $(string).each(function(){$(this).html();} ? 1 : 0;

====

实际上我想检查字符串是否是 img 标签,获取它的 alt 属性,如果不是(这是一个普通的非 html 字符串)则获取整个标签。

请帮我解决这个问题...谢谢

====

让我向您展示一个包含所有方面细节的真实示例...

这是主要功能:

content.find('a').each(function () {
var $this = $(this),
optText = '&nbsp;' + $this.text(),
...,
...,
...;
...
...
...
}

在此函数中,我需要处理第 3 行中的“$this.text()”部分。

我们正在寻找的标签中的文本,有时包含一个普通字符串,有时包含一个 img 标签。当它是普通文本时,我想把它完全放在 optText 变量中;但是当它是一个 img 标签时,我只想把它的 alt 属性放在那个变量中。

如此简单:

$this.text() => NormalText

--or----------------------------------------------

$this.text() => <img src="#" alt="AltText" />

所以我更改了该函数并将第三行中的“$this.text()”代码替换为以下每个代码:

($this.text().html() ? $('img', $this.text()).attr('alt') : $this.text())

--or----------------------------------------------

(htmlExpr.test($this.text()) ? $('img', $this.text()).attr('alt') : $this.text())

[which htmlExpr was defined before...]

--or----------------------------------------------

($this.text().each(function(){$(this).html();}) ? $('img', $this.text()).attr('alt') : $this.text())

但是这些代码都不适合我...

现在,你能帮帮我吗?!

最佳答案

是这样的吗?

var str = "<img alt='hello'>";

if(str.match(/\<img.+\>/)) {
str = $(str).attr('alt');
}

它获取字符串,检查它是否是 img 元素,然后获取 alt 属性。一种更简单的方法是只检查 if 语句中的 alt:

if($(str).attr('alt')) {
str = $(str).attr('alt');
}

您还可以使用 is()attr()合并:

if($(str).is('img') && $(str).attr('alt')) {
str = $(str).attr('alt');
}

关于javascript - jQuery 检查字符串是否为 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17289689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com