我想将锚标记的一个属性替换为不同的值。我怎样才能做到这一点。
我使用了jquery的replaceWith()
,它将替换完整的锚标记本身而不是属性和
字符串的“替换”方法无法使用它,因为我们无法在元素上调用它。
以下代码:
this.ui.$levels.each(function(i, el) {
var $self = $(el),
......
..
}
这里self有html元素,我需要修改其中一个属性值。
jquery的attr()应该这样做。但问题是如果我使用$ self.find('a')。attr('id','val'),它将替换所有锚标签。我不知道要替换哪个锚,我需要搜索特定的id,如果id存在则只有它应该替换。
例如:考虑$ self包含以下代码段
<div class="abc">
<div class="xyz">
<a href=# id="repplace_id"></a>
</div>
</div>
这里我需要将anchor标签的id修改为其他值。请帮忙
非常感谢帮助。
非常感谢提前。
答案 0 :(得分:0)
试试这个:
$self.find('a:first').attr('id', 'newValue');
它将在给定的html块中搜索a标记,并将href属性值设置为指定。
答案 1 :(得分:0)
您可以使用.attr()修改jQuery中的元素属性,如下所示:
protected void Button1_Click(object sender, EventArgs e)
{
int customerId, wishlistId = 0, productId;
if (Session["customerId"] != null)
{
customerId = Convert.ToInt32(Session["CustomerID"]);
productId = Convert.ToInt32(Request.QueryString["ProductId"].ToString());
wishlistId = AddToWish(customerId, productId);
MessageLabel.Text = "Your Request has been Sent Successfully";
}
else
{
MessageLabel.Text = "Some Error Occured";
}
}
private int AddToWish(int customerId, int productId)
{
int wishlistId;
SqlCommand command = new SqlCommand();
command.CommandText = "Insert into WishList (ProductID, CustomerID) values (@ProductID, @CustomerID);Select @@Identity";
command.Parameters.AddWithValue("@CustomerID", customerId);
command.Parameters.AddWithValue("@ProductID", productId);
wishlistId = DbUtility.UpdateDbGetIdentity(command);
return wishlistId;
}
}
WishList Database Table
WishListId PK
ProductID
CustomerID
答案 2 :(得分:0)
尝试以下方法:
$(".xyz a").attr("id","new_id");
这将只替换.xyz类中的标记
答案 3 :(得分:0)
根据你的范围,你有两种选择。
一种方法遍历$ levels并更改id具有值的所有锚点。
另一种方法根据它以前的id找到一个特定的锚。
但问题是如果我使用$ self.find('a')。attr('id','val'),它会 替换所有锚标签。我不知道要替换哪个锚,我需要 搜索特定的id,如果id存在则只有它应该 取代
根据上面的引用,您可能只想搜索id-attribute并在代码段中使用replaceSpecific
- 方法。
var $levels = $('.abc');
replaceAllThatExists();
replaceSpecific('new-id', 'yetAnotherId');
// If you don't know the specific id, and only want to change all if not exists.
function replaceAllThatExists()
{
$levels.each(function(i, el) {
var $self = $(el);
var $anchors = $self.find('a');
$anchors.each(function(i, a){
var $a = $(a);
if($a.attr('id')) {
var currentId = $a.attr('id');
$a.attr('id', 'new-id');
console.log('changed id from: ' + currentId + ' to ' + $a.attr('id'));
}
});
});
}
// If you know the specific id
function replaceSpecific(id, newId) {
$levels.find('[id="' + id + '"]').attr('id', newId);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="abc">
<div class="xyz">
<a href=# id="repplace_id1"></a>
<a href=#>Does not have id</a>
</div>
</div>
<div class="abc">
<div class="xyz">
<a href=#>Does not have id</a>
<a href=# id="repplace_id2"></a>
</div>
</div>
<div class="abc">
<div class="xyz">
<a href=# id="repplace_id3"></a>
</div>
</div>