字符串是动态的
它源于用户单击 dom 中的任何位置时的 onclick 事件
如果字符串的第一部分是:
"
login<b>user</b>account
"
包含在这样的一些元素中:
" <div>login<b>user</b>account</div>
",
然后我可以用这个得到它:
alert($(s).find('*').andSelf().not('b,i').not(':empty').first().html());
// result is : login<b>user</b>account
但是,当它没有包含在任何元素中时,我怎样才能在这种情况下获得相同的结果。即,当它没有包含在任何元素中时?
我尝试了下面的代码,当第一部分不包含任何内容时它工作正常,但它只在包含这些标签时<b></b>
给出“登录” 。
var s = $.trim('login<b>user</b> account<tbody> <tr> <td class="translated">Lorem ipsum dummy text</td></tr><tr><td class="translated">This is a new paragraph</td></tr><tr><td class="translated"><b>Email</b></td></tr><tr><td><i>This is yet another text</i></td> </tr></tbody>');
if(s.substring(0, s.indexOf('<')) != ''){
alert(s.substring(0, s.indexOf('<')));
}
注意: 建议仅针对上述字符串不特定的通用解决方案。它应该适用于有粗体标签和没有粗体标签的两种情况。