我正在尝试检查自动生成的跨度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中?
答案 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");
}