为什么JQuery的attr()方法对我不起作用?

时间:2019-09-06 08:15:52

标签: javascript jquery

 `var setOpenModal = function () {
    var theControl = $('.fOpenModal');
     theControl.off().on('click', function () {`if (WorkStates == 'To be PO') {
        $('#fPO').prop('checked', true);
        $("#fVendorCB1").attr('style', 'display:none');

     }else if(WorkStates == 'To be RFQ'){
        $('#fRFQ').prop('checked', true);
        $("#fVendorRad1").attr('style', 'display:none');
     }
        $.ajax({
                url:blalala',
                type: 'GET',
                dataType: 'json',
                cache: false,
                data: {
                 blalala,
                }
            })
        .done(function (json) {
            $.each(json.rows, function (index, data) {
             htmlPart += "<td>";
             htmlPart += "<input type='radio' id='fVendorRad1'  name='VendorRad'  value=" + data.ID + " " + isPO + ">";
             htmlPart += "<input type='checkbox' id='fVendorCB1' name='VendorCB'  value=" + data.ID + " " + isRFQ + " >" + data.Name + "<span class='ref-num'>" + "(" + data.ID + ")" + "</span>";
             htmlPart += "</td>";
    }
};

我想通过JQuery添加属性'style = display:none'来标记HTML'$("#fVendorRad1").attr('style', 'display:none');'和$("#fVendorCB1").attr('style', 'display:none');,但是它不起作用。

同一对象中存在html数据

3 个答案:

答案 0 :(得分:0)

两件事使用===代替==,并使用css函数添加内联样式

if (WorkStates === 'To be PO') {
  $('#fPO').prop('checked', true);
  $("#fVendorCB1").css('display', 'none');

} else if (WorkStates === 'To be RFQ') {
  $('#fRFQ').prop('checked', true);
  $("#fVendorRad1").css('display', 'none');
}

答案 1 :(得分:-1)

使用.hide()方法隐藏元素

答案 2 :(得分:-1)

.attr()方法用于设置或获取特定属性的值。

示例:

<img src="images/logo.png" class="logo" />
$("img").attr("src") // - This would return 'images/logo.png'

要为元素设置样式,必须使用.css()方法:

$("img").css("display", "none"); // - This will hide your element

它也可以用于应用多种样式,如下所示:

$("img").css({
    "display": "none",
    "border": "1px solid #000"
});

详细了解.css()方法here

详细了解.attr()方法here