8

我是 JQuery 的新手,并且真的很努力如何执行我想要的查询。

我正在使用 SharePoint,当使用外部数据列并将其设置为必填字段时,错误消息始终出现,直到您填写数据。与其他类型的列不同,它们仅在您单击确定/保存后才出现,而不是填写数据。因此,我需要仅从这些类型的列中删除错误消息文本。

我假设我需要在包含单词“外部数据”的 .ms-error 类中搜索 span 并将其隐藏。

通过使用 IE 开发人员工具栏,我已经确定了该区域。

 <table class="ms-usereditor" id="ctl00_m_g_05df537a_596b_443a_a11e_764069facec8_ctl00_Field_External_539c53fe_8334_43c8_b089_cc28d7895e68_Picker_OuterTable" style="border-collapse: collapse;" border="0" cellSpacing="0" cellPadding="0">
    <tbody>
     <tr>
     <td colSpan="3">
       <span class="ms-error" id="ctl00_m_g_05df537a_596b_443a_a11e_764069facec8_ctl00_Field_External_539c53fe_8334_43c8_b089_cc28d7895e68_Picker_errorLabel">
           Text - You must specify a value before using the Check button. You can also use Select button to choose External Data.
        </span>
      </td>
      </tr>
    </tbody>
</table>

请有人可以帮助我使用 JQuery。

4

3 回答 3

40
var spans = $('.ms-error');

spans.text(''); // clear the text
spans.hide(); // make them display: none
spans.remove(); // remove them from the DOM completely
spans.empty(); // remove all their content
于 2012-06-26T12:38:24.320 回答
5

$('span.ms-error:contains("External Data")').hide();

如果您确定这些span's 在某个table或 a中div,则将其专门定位在那些中以使脚本更好地执行。

例如。

$('.ms-usereditor span.ms-error:contains("External Data")').hide();

于 2012-06-26T12:35:38.707 回答
0

这是更优化和更快的方法:

$(".ms-usereditor span[class^='ms-error']:contains('External Data')").hide()

此外,当您需要一种正则表达式模式来查找所有匹配的节点或具有相似类名的节点时,这种语法非常有用。假设,您需要找到一些.ms-error-1 .ms-error-abc。因此,相同的语法可以工作,甚至更好的是你可以这样做:

$(".ms-usereditor span[class^='ms-error-']:contains('External Data')").hide()
于 2020-04-24T00:24:34.453 回答