使用jquery将属性附加到输入元素

append attributes to input element using jquery

本文关键字:输入 元素 jquery 属性 使用      更新时间:2023-09-26

如果我有像这个一样呈现的输入元素

<input id="Requester_Value" class="form-control ui-autocomplete-input valid" type="text" value="" name="Requester.Value" autocomplete="off" aria-invalid="false">

我如何使用jquery向这个输入元素添加属性

data-val-required="The Requested value field is required." data-val-number="The field Requester must be a string." 

如果要向元素添加属性,请尝试。

$('#Requester').attr("data-val-required","The Requested value field is required.");

试试这个:

$("#Requester_Value").attr("data-val-required","The Requested value field is required.");
$("#Requester_Value").attr("data-val-number","The field Requester must be a string.")

您可以使用.attr()来获取设置的属性值:

$('#Requester').attr({'data-val-required':'The Requested value field is required.' ,'data-val-number':'The field Requester must be a string.'});

.attr()data-*将设置该元素的数据属性和属性值。而CCD_ 4将仅在内部设置数据属性,并且值不会反映在属性中。

您可以使用.attr()设置元素的属性,请参阅此处的jQuery文档

    $('#Requester_Value').attr("data-val-required","The Requested value field is required.");

好的,如果你想把这些数据添加到输入中,那么把你的输入放在容器中,比如div,并使用这个方法

var $div = $('div');
var spltInp = $div.html().split(' ');
var i = Math.floor(spltInp.length / 3);
var srt = spltInp.splice(i, 0, 'data-val-required="The Requested value field is required." data-val-number="The field Requester must be a string." ');
var newHtm = spltInp.join(' ');
$div.append(newHtm).children().eq(0).remove();

https://jsfiddle.net/L2roc4ka/

首先在div(输入)中使用split() html,然后使用数组长度(i)之间的某个数字来避免将attr放在输入之外,并使用该数字作为起点通过splice()对attr进行索引,最后通过join()append将数组转换为字符串,并将其转换为div,然后删除旧的。

注意:如果要使用此技巧,请避免使用多类,因为这可能会导致语法错误,而是将这些类放在另一个类似容器的部分中并对其进行样式设置,或者避免使用此技巧。