我只需要检查一个字符串是否是 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 = ' ' + $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())
但这些代码都不适合我......
现在,你能帮我吗?!