开发者

Use jquery to write an ID based on text in a span tag

开发者 https://www.devze.com 2023-01-26 18:56 出处:网络
I am not sure if this is even possible, with that said... below is a sample of HTML I am working with. I want to, with jQuery, grab the product name and insert it as an ID on the paired span tag with

I am not sure if this is even possible, with that said... below is a sample of HTML I am working with. I want to, with jQuery, grab the product name and insert it as an ID on the paired span tag with the class "support", replacing spaces with underscores.

<div><span class="title">Product1 Name</span> <span class="support"></span></div>
<div><span class="title">Product1 Name</span> <span class="support"></span></div>
<div><span class="title">Product1 Name</span> <span class="support"></span></div>
<div><span class="title">Product1 Name</span> <span class="support"></span></div>

Below would be the desired HTML that jQuery would modify. Is this possible?

<div><span class="title">Product1 Name</span> <span class="support" id="product1_name"></span> </div>
<div><span class="title">Product2 Name</span> <span class="support" id="product2_name"></span> </div>
<div><span class="title">Product3 Name</span> <span class="support" id="product3_name"></spa开发者_StackOverflown> </div>
<div><span class="title">Product4 Name</span> <span class="support" id="product4_name"></span></div>


Yup.

$('span.title').each(function ()
{
    var $this = $(this),
        id = $this.text().toLowerCase().replace(/ /g, '_');
    $this.next().attr('id', id);
});

Demo!

This could very well create elements with duplicate IDs, however. Not good.


something like:

(".title").each(function() {$(this).next(".support").attr("id",$(this).html().replace(" ","_"));});

didn't check it but it should work, hope I got the parenthesis count right in the end...

0

精彩评论

暂无评论...
验证码 换一张
取 消