有没有办法通过jQuery更改Style

时间:2014-09-16 19:00:03

标签: jquery html css razor

我想在某些情况下隐藏错误消息:

<div id="PickerPopupNoResultsMessage" style="color:red; font-weight: bold; " class="ui-helper-hidden">
    Please select Name first.
</div>

当我在视图中执行此操作时呈现:

 $('#PickerPopupNoResultsMessage').removeClass('ui-helper-hidden');

所以它变成了

<div id="PickerPopupNoResultsMessage" class="" style="color: red; font-weight: bold; display: none;">
    Please select Name first.
</div>

我无法移除display: none。我还尝试了removeClassaddClass。在addClass我正在设置display: block,它所做的只是添加课程,但display: none仍然存在。

请帮忙,因为这件小事占用了我很多时间:(

4 个答案:

答案 0 :(得分:1)

更改课程不会影响元素本身的内嵌样式。为此,您可能需要直接edit its CSS properties。像这样:

$('#PickerPopupNoResultsMessage').css('display', 'block');

答案 1 :(得分:1)

尝试以下任何一种方法:

$('#PickerPopupNoResultsMessage').css('display', 'block');

或者如果要在jquery数据缓存中存储display属性的状态,请尝试此:

$('#PickerPopupNoResultsMessage').show();

确保在DOM中可用时执行此操作。要在DOM中加载元素后执行此操作,您可以尝试这样做:

$(document).ready(function(){

    $('#PickerPopupNoResultsMessage').show();

    // Or This

    $('#PickerPopupNoResultsMessage').css('display', 'block');
});

其中任何一个都可行。使用inline方法时,您可以使用inline-blockblockcss

答案 2 :(得分:1)

您可以使用JQuery css()函数:

$('#PickerPopupNoResultsMessage').css('display','block;')

或show():

$('#PickerPopupNoResultsMessage').show()

JSFiddle Demo
您可以在 documentation 上阅读有关css()的更多信息 或者,在这个SO问题上可以找到更深入的答案:
How to change css display none or block property using Jquery?

答案 3 :(得分:1)

我会简化html /样式。

目前你有..

<div id="PickerPopupNoResultsMessage" style="color:red; font-weight: bold; " class="ui-helper-hidden">
Please select Name first.
</div>

放松课程并将你的风格调整为......

<div id="PickerPopupNoResultsMessage" style="color:red; font-weight: bold; display: none;" >
Please select Name first.
</div>

然后你的jQuery可以调整为..

$('#PickerPopupNoResultsMessage').css( "display", "block" )