使用Jquery检查自动生成的span类标记

时间:2012-03-11 22:05:40

标签: javascript jquery html

我正在尝试检查自动生成的跨度class=""内容,我会将其用作确定是否向用户显示消息的条件

这是跨度

<span id="sprytextfield1" class="textfieldInvalidFormatState">

我在这里尝试的是将一个名为Div的{​​{1}}与email放在一起,以便我可以使用以下内容

id

但这不起作用,因为如果将span放在我的div if ($('email').html('<span id="sprytextfield1" class="textfieldInvalidFormatState">')) { alert ("error"); } 中,这将停止JavaScript并导致错误,因为对于某些数据条件,我无法在跨度结束处关闭div。 / p>

有没有办法获得跨度email而不将所有跨度放在div中?

2 个答案:

答案 0 :(得分:2)

检查:http://jsfiddle.net/pratik136/YY5RR/

这将让你获得所有跨度的类。

答案 1 :(得分:1)

如果你想为你的div附加一个跨度并且仍然得到它的引用(所以你可以进一步修改它),我建议这样做:

$("#email").html(""); // optional: clear email
var mySpan = $('<span id="sprytextfield1" class="textfieldInvalidFormatState"/>').appendTo($('#email'));

然后您可以在跨度中添加更多内容,例如文本或其他元素:

mySpan.text("some text");
mySpan.append('<a>some link</a>');

你提到你不能在跨度之后关闭div,我明白你想要为它添加更多元素,这是正确的吗?在创建span之后,只需追加(或预先添加)它们:

$("#email").append(someElement); // Will appear in the end, after the span
$("#email").prepend(someElement); // Will appear in the beginning, before the span

更新:重新阅读您的问题,我不清楚您要检查的是什么。跨度是否已经在您的文档中,您只想查看它是否具有特定类(您已经知道)?如果是这种情况,请获取元素(您拥有其ID)并在其上使用hasClass

if ( $("#sprytextfield1").hasClass("textfieldInvalidFormatState") ) {
    alert("error");
}